2011-03-01 44 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