如何停止提交表单?

时间:2009-09-08 17:24:18

标签: 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();" />

<% } %>

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

4 个答案:

答案 0 :(得分:27)

尝试更改

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

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

答案 1 :(得分:7)

可以采取的另一种方式:

document.forms['MyForm'].onsubmit = CheckingStatus;

答案 2 :(得分:6)

将您的代码更改为:

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

注意我添加了“return”这个词。

答案 3 :(得分:0)

我会使用ASP.NET按钮,或者将runat =“server”属性添加到HMTL按钮,然后使用UseSubmitBehavior =“false”属性来禁用回发/表单提交。然后你可以调用form.Submit();或类似的JavaScript。