即使将OnSubmit设置为False,HTML表单也会提交

时间:2018-06-21 16:49:13

标签: javascript jquery html validation

无论如何,我都有一个无法停止提交的表格。我已经看过一些类似的问题,但是没有一个对我有用。这似乎是一个简单的任务。之所以需要它停止提交,是因为如果字段为空,我想添加一些验证。

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;
    }
};

注意::单击“提交”时,警报会弹出,但是在关闭邮件后仍会发布表单。

3 个答案:

答案 0 :(得分:1)

问题可能出在returnvalidateForm()之间的新行中:

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>

答案 1 :(得分:0)

您必须使用preventDefault()来阻止默认操作。

function validateForm(evt) {
    evt.preventDefault();
    alert('False');
    return false;
};

答案 2 :(得分:0)

仍然提交表单的原因是因为jquery-validation具有自己的提交功能。这将覆盖我为停止提交所做的任何更改。