我想在提交'在提交页面之前单击此表单上的按钮。
验证函数按预期调用并执行;但之后不提交表格,保留未更改的更改。
以下是代码的一部分 -
$j("#btnSubmit").on("click",function(event){
event.preventDefault();
alert("validation complete");
return;
});
<button type="submit" name="btnSubmit" id="btnSubmit" value="btnSubmit"> </button>
答案 0 :(得分:1)
您已使用event.preventDefault()
取消提交活动,因此现在您需要在验证后手动处理提交,而不是仅仅执行return
。
然后您可以使用类似AJAX的内容来进行实际提交。有关非AJAX提交表单的方式,请参阅Keerthi的方法。
请注意,如果您执行$('#myForm').submit()
或类似的操作,请执行原始功能以验证并导致循环。
答案 1 :(得分:1)
event.preventDefault();停止执行。在表单中添加id
并添加$('#formid').submit();
,而不是return
。
编辑:
将按钮类型更改为按钮而不是提交,以便仅在验证后提交表单。
答案 2 :(得分:1)
您需要查看$().submit()
功能。
如果您preventDefault()
即使传播也停止了点击,那么提交绝对不会触发。您要做的是捕获提交事件
$('#myForm').submit(function(){ validate(); return; })
或者您想在点击处理程序中手动调用提交
$("#btnSubmit").on("click",function(event){
event.preventDefault();
alert("validation complete");
$('#myForm).submit();
});