首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery验证单击事件以获取错误消息

jquery验证单击事件以获取错误消息
EN

Stack Overflow用户
提问于 2011-12-12 10:34:51
回答 4查看 2.9K关注 0票数 0

我正在为JQuery使用基本抵抗验证插件。

要保持表单清晰,我只在无效字段后放置一个字母作为错误消息(例如,"F“表示无效格式)。现在,我想给用户一个选项,在一个特殊的div (#错误详细信息)中通过单击信函获得详细的错误消息。

代码语言:javascript
运行
复制
$(".contactForm").validate({
    rules ....
}),

...

我想放点这样的东西:

代码语言:javascript
运行
复制
$("label.error").click(function() {
    alert("The Errormessage was clicked ...");
})

我要把这段代码放哪儿?

编辑:对不起,我忘了写这个。在$(document).ready()中,事件不起作用。单击其他元素的事件可以正常工作,但对于$("label.error")则不是事件。

OK编辑第2部分:

验证后的html:

代码语言:javascript
运行
复制
<div class="formField cf">                          
    <label for="contactGeburt">Geb.datum *  
        <span style="font-size: 10px; color: #999">&nbsp;(dd.mm.jjjj)
        </span>
    </label>                            
    <input type="text" maxlength="10" id="gebdatum" name="gebdatum" class="textField datum error">
<label for="gebdatum" generated="true" class="error">
    <span class="errorvalue">P
    </span>
</label>                                                

以下是JQUERY部分

代码语言:javascript
运行
复制
$(document).ready(function(){
$(".contactForm").validate({
  rules: {
    gebdatum: {
        required: true,
        dateDE: true
        }
    },
}),

//This does not work
$(function() {
  $("label.error").click(function() {
    alert("The Errormessage was clicked ...");
  });
});

// This works - H1 is also on the document ;-)
$(function() {
  $("h1").click(function() {
    alert("H1 was clicked ...");
  });
});    
});

编辑第3部分:

感谢您的支持:

我已经测试了(有效的)代码,但是它不起作用。我从基本抵抗开始了降职:

http://jquery.bassistance.de/validate/demo/

我粘贴此功能:

代码语言:javascript
运行
复制
$("label").click(function() {
  alert("The Label was clicked ...");
});

..。并运行代码(控制台)。在单击Text字段中的标签时,会显示警报消息。单击"submit"-button后,错误标签(红色)不会对事件做出反应,但是输入字段的标签会显示alertbox。

因此,我再次从控制台运行代码(在屏幕上出现错误之后),现在显示了可变框。

所以我认为,事件必须放在表单中的验证事件中,但我不知道正确的语法。

编辑第4部分:

这里有一个链接,链接到所有的资源,包括:http://jsfiddle.net/frank79/HVEXm/

谢谢你的帮助!为可怜的英国人道歉..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-22 08:37:27

好的,我找到了解决办法:

代码语言:javascript
运行
复制
$(".contactForm").delegate("label", 'click', function() {
    alert("A Label was clicked....");
}).validate({
    rules: {
        gebdatum: {
            required: true,
            dateDE: true
        }
    }
})

调用click-Handler时,我的标签不存在。

感谢jquery的charlietfl,感谢JMAX的短途旅行!

圣诞快乐!

弗兰克

票数 2
EN

Stack Overflow用户

发布于 2011-12-12 10:41:28

您应该将代码放在jQuery的文档就绪函数中,如下所示:

代码语言:javascript
运行
复制
$(function() {
  $("label.error").click(function() {
    alert("The Errormessage was clicked ...");
  });
});
票数 0
EN

Stack Overflow用户

发布于 2011-12-13 08:16:05

以下是您的原始代码::http://jsfiddle.net/2EwUK/

当单击顶部的

  • 按钮时,When应用程序会在代码中引发一些语法错误。

下面是一个更新的版本:http://jsfiddle.net/mwLWR/1/及其工作原理。感谢评论,我还添加了对验证插件的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8472952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档