jQuery表单检查返回true,但需要返回false
提交表单时,我正在运行此表单检查:
if((formData[4].value == 1 || formData[4].value == 2) && !formData[2].value) { alert('Please fill out the key field');
return false" title="return false">return false;
} else {
$.ajax({
url: "/ajax/key_check.php",
cache: false,
data: "key=" + formData[4].value,
dataType: "html",
success: function(data) {
if(data == 1) {
alert('Key already exists');
return false;
}
}
});
return true;
}
该脚本有效,如果数据== 1,它会警告键已经存在,但是表单仍在提交。我以为如果data ==
1则返回false将停止处理表单,但是无论如何它都会继续并添加键,并且弹出键已经存在。如果data == 1,如何阻止表单提交?我什至尝试这样做:
if(data == 1) { alert('Key already exists');
return false;
} else {
return true;
}
然后删除脚本底部的return true,但是会发生相同的问题。弹出窗口出现,但表单仍得到处理。
回答:
一个return
回调的回报 从回调 ,不是父功能像你想......但你 能 得到的效果你想要的,就像这样:
if((formData[4].value == 1 || formData[4].value == 2) && !formData[2].value) { alert('Please fill out the key field');
return false;
} else {
$.ajax({
url: "/ajax/key_check.php",
cache: false,
data: "key=" + formData[4].value,
dataType: "html",
success: function(data) {
if(data == 1) {
alert('Key already exists');
} else {
$("#someForm")[0].submit();
}
}
});
return false;
}
这样做永远不会直接提交,但是 如果 检查正常,请调用* native
.submit()
方法,提交表单,然后不再运行此处理程序。
以上是 jQuery表单检查返回true,但需要返回false 的全部内容, 来源链接: utcz.com/qa/399628.html