有条件地取消ASP.NET MVC 2表单帖子

时间:2011-03-01 20:52:14

标签: asp.net-mvc-2

我想在将表单提交回服务器之前运行一些javascript。在这个javascript中,我将根据javascript函数中的一些验证逻辑允许发布或不发布。我在其他地方读过,为了保持表单发布,我需要做的就是从我的javascript函数返回false。我正在尝试在下面的代码中没有运气。我添加了警报,以证明自己正在调用该函数。谁能告诉我我做错了什么?

<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>

<%
    }%>

1 个答案:

答案 0 :(得分:2)

试试这样:

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

请注意return声明。