如何停止提交表单?

Ken*_*hou 13 javascript

在MVC视图中,我有一个如下表单.当用户点击提交按钮时,我想先检查一下.如果没问题,请提交表格.如果未通过检查,请向用户发送警报消息,然后保留在视图中.我的示例代码如下:

<script type="text/javascript">
  function CheckingStatus() {
     //.....
     if (answer == "N") {
       alert("You choose No.");
       return false;
      }
   }
</script>

<% Html.RenderPartial("MyForm"); %>
....

<input id="btnSubmit" type="submit" value="Submit" onclick="CheckingStatus();" />

<% } %>
Run Code Online (Sandbox Code Playgroud)

但是在测试时,即使回答=="N",表单仍然会被提交.如何停止提交表单?

Sco*_*ski 27

尝试改变

<input id="btnSubmit" type="submit" value="Submit" onclick="CheckingStatus();" />
Run Code Online (Sandbox Code Playgroud)

<input id="btnSubmit" type="submit" value="Submit" onclick="return CheckingStatus();" />
Run Code Online (Sandbox Code Playgroud)


Cle*_*ton 7

另一种方式可以做到:

document.forms['MyForm'].onsubmit = CheckingStatus;
Run Code Online (Sandbox Code Playgroud)


Cra*_*ntz 6

将您的代码更改为:

<input id="btnSubmit" type="submit" value="Submit" onclick="return CheckingStatus();" />
Run Code Online (Sandbox Code Playgroud)

注意我添加了"return"这个词.