我在每个必需字段的输入字段中显示了jQuery验证错误消息。当用户试图输入有效的所需信息时,我不知道如何使消息消失。
例如,如果输入字段中出现错误消息为“输入您的名字”,而我试图在文本输入字段中键入我的真实姓名(如果是Steve),则从“输入您的史蒂夫”开始。
当我输入真实的信息时,我如何才能让错误信息消失?
这是小提琴
这是我的密码:
<form id="lead">
<input type="text" name="first_name">
<input type="text" name="last_name">
<input type="email" name="email">
<input type="submit">
jQuery
$(function () {
//Validation
$('#lead').validate({
rules: {
first_name: {
minlength: 2,
required: true
},
last_name: {
minlength: 2,
required: true
},
email: {
email: true,
required: true
}
},
errorPlacement: function (error, element) {
element.val(error.text());
},
messages: {
first_name: "Enter your first name",
last_name: "Enter your last name",
email: "Enter your email"
},
submitHandler: function (form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
}
});
});发布于 2013-10-01 23:07:25
我不认为在jQuery验证中使用这些精确设置可以得到您想要的行为。
问题是您已经为您的名字输入设置了minlength: 2。在提交表单之前,验证不做任何操作。但是,在第一次提交并触发错误之后,它会在每次键击下重新评估的验证条件。所以你在名字输入中输入"S“,这会触发一个验证,因为minlength是< 2,所以触发用错误消息替换元素的值。
您可能更喜欢设置用于onkeyup:false验证的顶级选项jQuery,但它不会完全解决问题。
在这里看到它的工作方式不同:http://jsfiddle.net/ryleyb/3RBRp/8/
发布于 2013-10-01 20:07:27
为什么不使用占位符
他们应该能很好地达到你的目的
https://stackoverflow.com/questions/19124788
复制相似问题