我有一个无论如何都无法停止提交的表格。 我看过一些关于SO的类似问题,但没有一个对我有用。 这似乎是一项简单的任务。 我需要它停止提交的原因是,如果字段留空,我想添加一些验证。
.HTML
<form class="application-form" id="application-form" name="application-form"
autocomplete="off" enctype="multipart/form-data" method="post" onsubmit="return validateForm()" action="AppProcessRequest.cshtml">
...
...
...
<!-- Verify/Submit -->
<input type="submit" value="Submit" id="btnSubmit" name="submitButton"/>
</form>
JavaScript
function validateForm() {
alert('False');
return false;
};
我的理想伪脚本
function validateForm() {
var emp1label = $('label[class=emp1label]')
if(emp1label.length > 0){
alert('Empty Field.');
return false;
}else{
return true;
}
};
注意:单击"提交"时会弹出警报,但在关闭邮件后仍会发布表单。
您必须使用 preventDefault(( 来阻止默认操作。
function validateForm(evt) {
evt.preventDefault();
alert('False');
return false;
};
问题可能出在return
和validateForm()
之间的新行中:
function validateForm() {
alert('False');
return false;
};
<form class="application-form" id="application-form" name="application-form"
autocomplete="off" enctype="multipart/form-data" method="post" onsubmit="return validateForm()" action="AppProcessRequest.cshtml">
...
...
...
<!-- Verify/Submit -->
<input type="submit" value="Submit" id="btnSubmit" name="submitButton"/>
</form>
表单仍在提交的原因是因为jquery-validation具有自己的提交函数。 这覆盖了我为尝试停止提交所做的任何更改。