pao*_*loi 3 forms jquery jquery-validate
我"再次"询问jQuery Validate插件......
现在,我的问题是错误标签不会隐藏,直到我单击提交按钮一次,然后需要第二次单击提交表单,任何想法?如果我的输入文本有效,我需要的是错误标签隐藏.
jQuery的:
$("#form").validate({
rules: {
"name": {
required: true,
minlength: 3
},
"phone":{
required:true,
digits:true,
minlength: 9
},
"email":{
required: true
},
"storageoptions":{
required: true
},
"quantity":{
required:true,
digits:true
}
},
messages: {
"name": {
required: "Please enter a name"
},
"phone":{
required: "Required field"
},
"email":{
required: "Enter a valid email"
},
"storageoptions":{
required: "Please select an option"
},
"quantity":{
required: "This Field required"
}
},
errorPlacement: function(error, element) {
error.insertBefore(element);
},
submitHandler: function (form) {
$.ajax({
type: 'POST',
data: $(form).serialize(),
url: 'file.php',
success: function () {
form.reset();
$('#submit').hide();
$('#success-line').show().fadeOut(7000, function(){
$('#submit').show("slow");
});
}
});
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的演示:http://jsfiddle.net/ujDC3/
默认情况下,jQuery Validate插件会自动清除模糊和键盘事件的错误消息.但是,您的实现被无效的HTML破坏了.
没有这样的事情type="input":
<input type="input" name="name" id="name" class="longinput" />
Run Code Online (Sandbox Code Playgroud)
将它们全部更改为type="text":
<input type="text" name="name" id="name" class="longinput" />
Run Code Online (Sandbox Code Playgroud)
现在它按预期工作:http://jsfiddle.net/Y9RFt/