我有一个简单的HTML表单,它使用jQuery函数来验证表单。
你会注意到在jQuery代码中,我有一个名为flag
的变量,它被设置为0或1。
jQuery(function () {
jQuery("#ValidField").validate({
expression: "if (VAL){flag=1; return true; }else{flag=0; return false;}",
message: "Please enter the Required field"
});
jQuery("#ValidNumber").validate({
expression: "if (!isNaN(VAL) && VAL){flag=1; return true; }else{flag=0; return false;}",
message: "Please enter a valid number"
});
jQuery("#ValidInteger").validate({
expression: "if (VAL.match(/^[0-9]*$/) && VAL){flag=1; return true; }else{flag=0; return false;}",
message: "Please enter a valid integer"
});
jQuery("#ValidSelection").validate({
expression: "if (VAL != '0'){flag=1; return true; }else{flag=0; return false;}",
message: "Please make a selection"
});
jQuery("#ValidRadio").validate({
expression: "if (isChecked(SelfID)){flag=1; return true; }else{flag=0; return false;}",
message: "Please select a radio button"
});
jQuery("#ValidCheckbox").validate({
expression: "if (isChecked(SelfID)){flag=1; return true; }else{flag=0; return false;}",
message: "Please check atleast one checkbox"
});
jQuery('.AdvancedForm').validated(function () {
if (flag == 1) alert("Use this call RIGHT HERE to make AJAX submissions.");
});
});
请注意,最后一个jQuery语句中的if (flag == 1)
不是必需的。我把它放在那里看看JS是否识别变量(它确实如此)。
如何检查标志== 0并调用Javascript警报说出"页面上的错误" ???
提前谢谢。
我更新了代码以修复(flag == 1)语法。
答案 0 :(得分:0)
使用以下内容:
if (flag) {
alert("Use this call RIGHT HERE to make AJAX submissions.");
} else{
alert("Flag was 0 or what error message you want to show");
}
如前所述,您需要使用==
进行比较,而不是=
进行分配。但是,由于flag是一个布尔值并且将是1或0,您可以使用if(flag)为true并使用else语句计算false case。
编辑:要检查何时无效,您可以使用invalidHandler函数(这适用于jQuery Validation插件):
$( "#myform" ).validate({
invalidHandler: function() {
alert("There were errors on the page");
}
});
请参阅:http://jqueryvalidation.org/Validator.numberOfInvalids/
编辑:jQuery Live Form验证的验证。
默认情况下,此验证是实时的,当您填写表单时,验证失败时将显示消息。您可以在表单提交中添加一个监听器,并检查验证错误类。
jQuery('.AdvancedForm').submit(function(){
if(jQuery('.AdvancedForm').find('.ValidationErrors').length){
alert('There were errors on your form');
}
});
请参阅:http://www.geektantra.com/2009/09/jquery-live-form-validation/