<script id="demo1" type="text/javascript">
jQuery(document).ready(function () {
var validator = jQuery("#login").validate({
rules: {
pwd: "required",
log: {
required: true,
email: true,
},
},
messages: {
pwd: "Please enter password",
log: {
required: "Email is required",
email: "Please enter a valid Email Address",
}
},
errorPlacement: function (error, element) {
if (element.is(":radio"))
error.appendTo(element.parent().next().next());
else if (element.is(":checkbox"))
error.appendTo(element.parent().next("span#error"));
else
error.appendTo(element.parent().next("div#error"));
//error.appendTo ('div#error').show().fadeOut(4500);
},
success: function (label) {
// set as text for IE
label.html(" ").addClass("checked");
}
});
});
</script>
我有这个脚本来验证表单,这个脚本适用于我的表单,我希望在所有字段都经过验证后运行一个函数,意味着输入是正确的,如果我调用函数内部成功然后它每次运行时运行单输入验证,但我想在所有输入正确后调用它,请帮助,我尝试从最后一小时不同的方式,没有结果..
答案 0 :(得分:1)
以下代码为我工作
jQuery(document).ready(function() {
var validator = jQuery("#login").validate({
rules: {
pwd: "required",
log: {
required: true,
email:true,
},
},
messages: {
pwd: "Please enter password",
log: {
required: "Email is required",
email:"Please enter a valid Email Address",
}
},
submitHandler: function(form) {
// call your function
$("#login")[0].submit();
}
});
});
答案 1 :(得分:0)
制作一个柜台:
var successfulValidations = 0;
在您的成功功能中添加:
成功:功能(标签){ successfulValidations ++; }
验证后,检查所有经过验证的元素的数量:
if(validatedElementsCount === successfulValidations) {
doSomething();
}
答案 2 :(得分:0)
您可以使用validator.form()方法验证表单
var validator=$("#find_your_form").validate({onsubmit: false});
......................................
if(validator.form()){
//Validate passed
ohYeh();
} else {
//Validate
ohCrap();
}
答案 3 :(得分:0)
我曾经遇到过类似的问题。也许我的方法也可以帮到你。
在验证时,每个输入都添加了valid
或invalid
类。
然后我只是通过输入循环并检查它们是否都有效:
function allValid(inputs) {
for(var x = 0; x < inputs.length; x++) {
if(!$(inputs[x]).hasClass('valid')) {
return false;
}
}
return true;
};
var myInputs = $('#MyForm input');
if(allValid(myInputs)) {
// All inputs are valid!
}