2011-03-01 45 views
0

我想在窗體提交回服務器之前運行一些javascript。在這個JavaScript中,我將允許基於JavaScript函數中的某些驗證邏輯的帖子。我在其他地方看過,爲了不讓表單發佈,我需要做的就是從我的javascript函數返回false。我正在下面的代碼中嘗試,沒有運氣。我添加了警報以證明函數被調用。誰能告訴我我做錯了什麼?有條件地取消ASP.NET MVC 2表單發佈

<script type="text/javascript"> 
function validateOtherAndComment() { 
    alert("validateOtherAndComment called"); 
    return false; 
} 
</script> 
<h2>Create</h2> 

<% 
    using (Html.BeginForm("Create", "Home", FormMethod.Post, 
          new 
           { 
            onsubmit = "validateOtherAndComment();", 
           })) 
    {%> 
    <%=Html.ValidationSummary(true)%> 

    <fieldset> 
     <legend>New Event</legend> 

     <div class="editor-label"> 
      <%=Html.Label("Comment (max 250)")%> 
     </div> 
     <div class="editor-field"> 
      <%=Html.TextArea("commentTextArea", "", 7, 40, new object())%> 
      <%=Html.ValidationMessage("comment")%> 
     </div> 

     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 

<% 
    }%> 

回答

2

嘗試這樣的:

using (Html.BeginForm(
    "Create", 
    "Home", 
    FormMethod.Post, 
    new { 
     onsubmit = "return validateOtherAndComment();" 
    })) 

通知的return聲明。

+0

Doh。謝謝您的幫助。我應該看到這一點。 – mpenrow 2011-03-01 21:13:13