簡體   English   中英

提交輸入和jQuery驗證問題

[英]Problem with a submit input and jQuery validation

我有這樣的形式:

 <script type="text/javascript">
    function checkpas() 
    {
        var newp = $('#NewPassword').val();
        var newpp = $('#RepeatedNewPassword').val();

        if (newp != newpp) 
        {
            return false;
        }
    }
  </script>

<% using (Html.BeginForm()) {%>
    <%: Html.ValidationSummary(true) %>
         ...
    <input type="submit" id="sub_btn" value="Edit" onclick="checkpas();" />
<% } %>

但是即使我在JS代碼中返回false,該提交輸入也始終調用表單提交。 為什么呢

您需要運行onsubmit()而不是onclick()

像這樣:

 <script type="text/javascript">
    $("#yourformID").submit(function (evt)
    {
        var newp = $('#NewPassword').val();
        var newpp = $('#RepeatedNewPassword').val();

        if (newp != newpp) 
        {
            return false;
        }
    }
  </script>

請注意通過在ASPX中執行此操作來分配表單ID。 這是參考http://msdn.microsoft.com/en-us/library/dd492714.aspx

<% using (Html.BeginForm("ActionName", "ControllerName", Method, new {id="myFormID")})) {%>

我相信您需要返回函數結果:而不是:

<input type="submit" id="sub_btn" value="Edit" onclick="checkpas();" />

采用:

<input type="submit" id="sub_btn" value="Edit" onclick="return checkpas();" />

還在您的函數中添加一個else return true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM