xVal和jQuery提交按钮

时间:2009-11-30 20:49:27

标签: c# asp.net-mvc xval

我有一个简单的表格。它有一个字段和一个提交按钮。 我隐藏了提交按钮。提交按钮实际上是通过锚点触发的 调用javascript方法的标记,该方法使用jQuery来获取元素并执行 点击()。这样工作正常,表单发布和记录成功写入数据库。

所以现在我添加了xVal进行验证。我想在简单的客户端验证中添加。

单击锚标记时不起作用。但是,如果我取消隐藏提交按钮并尝试使用它发布表单而不是使用调用js方法的锚标记,它确实有效。所以基本上我试图弄清楚为什么当我使用js方法触发点击提交按钮时它不起作用。

任何重要的想法?非常感谢!

有些代码......

<div id="manufacturerButtons" class="moduleRow">
            <%= Html.ActionImage(Url.Content("~/Content/Icons/bullet_go_back.png"), "Back To Admin", "Admin", "Admin")%>
            | <a class="actionImage" href="javascript: addManufacturer();">
                <img border="0" src="<%= Url.Content("~/Content/Icons/accept.png")%>">&nbsp;<span>Add
                    Manufacturer </span></a>
        </div>
        <div class="moduleContent">
            <div id="manufacturerContainer">
                <div class="moduleRow">
                    <h3>
                        New Manufacturer</h3>
                </div>
                <div class="moduleRow">
                    <% Html.BeginForm("NewManufacturer", "Admin", FormMethod.Post); %>
                    <table class="noBorder" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                            <td style="width: 125px">
                               <h6>Name:</h6>
                            </td>
                            <td>
                                <%= Html.TextBox("Name") %>
                            </td>
                        </tr>
                        <tr style="display: none;">
                            <td>
                                &nbsp;
                            </td>
                            <td>
                                <input type="submit" id="btnAdd" name="btnAdd" />
                            </td>
                        </tr>
                    </table>
                    <% Html.EndForm(); %>
                    <%= Html.ClientSideValidation<EquipmentManufacturer>() %>
                </div>

            </div>

使用Javascript:

function addManufacturer() {
    //$('form').submit(); // doesnt work when trying to validate either
    $('#btnAdd').click();
    return true;
}

1 个答案:

答案 0 :(得分:1)

您需要做的是在表单上触发jQuery验证。尝试:

$('form').validate();

要在验证成功后提交表单,请尝试:

$('form').validate({ submitHandler: function(form) { form.submit(); } });

请注意,'form'应该是表单的有效jQuery选择器...