Javascript 表单验证jQuery
我有一段代码用于验证表单:Javascript 表单验证jQuery,javascript,jquery,Javascript,Jquery,我有一段代码用于验证表单: $("form[name='aar_form']").submit(function() { var values = new Array(); $(".tipsy").remove(); show_loading(); for(var i in fields) { if(i < 9)
$("form[name='aar_form']").submit(function()
{
var values = new Array();
$(".tipsy").remove();
show_loading();
for(var i in fields)
{
if(i < 9)
{
values[i] = $("input[name='" + fields[i] + "']").val();
}
else if(i < 10)
{
values[i] = $("select[name='" + fields[i] + "']").val();
}
else
{
var $i = $("#" + fields[i] + "_div input:checked");
if($i.length < 1)
{
values[i] = "";
}
else if($i.length == 1)
{
values[i] = $i.val();
}
else
{
values[i] = new Array();
$i.each(function()
{
values[i].push($(this).val());
});
}
}
}
window.no_errors = false;
ajax_request({act: "aar_validate", values: values}, function(response)
{
response = eval("(" + response + ")");
window.no_errors = response.errors === true ? false : true;
if(response.errors === true)
{
for(var i in response.error_fields)
{
$(response.error_selector[i] + "[name='" + response.error_fields[i] + "']").attr("title", response.error_msgs[i]).tipsy({trigger: "manual", gravity: response.error_gravity[i]}).tipsy("show");
}
hide_loading();
$("html, body").animate({scrollTop: $(response.error_selector[0] + "[name='" + response.error_fields[0] + "']").offset().top - 80}, "slow");
}
});
console.log(window.no_errors);
setTimeout("console.log('k: ' + window.no_errors)", 100);
return false;
});
无论no_errors变量是什么,表单都将提交
任何提示?如果您不希望在验证期间在页面上执行任何其他操作,请对验证页面进行同步调用,而不是默认的aync调用不要依赖于阻止或允许提交。在所有情况下都要阻止它,然后在验证结果正常后通过回调手动提交它。
setTimeout("return window.no_errors", 100);