jquery允许在取消提交后提交表单
我得到了一个jquery函数,它控制填写表单的所有必填字段,如果其中一个必填字段为空,它将取消提交 取消表单提交工作正常,问题是当我在提交失败后提交表单时,它仍然会取消表单提交,因为所有表单都已正确填写,所以它应该允许提交,代码如下: -Cancel是一个bool,指示是否填写了所有表单字段jquery允许在取消提交后提交表单,jquery,forms,submission,Jquery,Forms,Submission,我得到了一个jquery函数,它控制填写表单的所有必填字段,如果其中一个必填字段为空,它将取消提交 取消表单提交工作正常,问题是当我在提交失败后提交表单时,它仍然会取消表单提交,因为所有表单都已正确填写,所以它应该允许提交,代码如下: -Cancel是一个bool,指示是否填写了所有表单字段 if (cancel) { $('#form_login').submit(function () { return false
if (cancel)
{
$('#form_login').submit(function ()
{
return false;
});
}
else
{
$('#form_login').submit(function ()
{
return true;
});
};
我做错了什么
谢谢您最好在submit方法中调用验证代码。例如,执行一些验证并返回true或false的方法。您可以将该值作为submit方法返回值返回 例如:
$('#form_login').submit(function ()
{
return isMyFormValid();
});
function isMyFormValid(){
//return true or false depending on some conditions.
}
问题是您多次将函数附加到表单的提交事件。第一次,当验证失败时,
返回false方法,并且每次提交表单时都会调用此函数,即使稍后附加另一个函数(验证成功时)
您要做的是:
$('#form_login').submit(function() {
//define the value of 'cancel' here
return cancel;
}
如果已将某个函数附加到提交事件并希望覆盖它,则必须首先删除已附加的函数:
$('#form_login').off('submit');
然后附加新功能。试试下面的建议如何:
$('#form_login').submit(function ()
{
if (cancel) {return false;}
return true;
});
@阿尔伯特·普拉茨:很好,没问题!
$('#form_login').submit(function ()
{
if (cancel) {return false;}
return true;
});