我有一个简单的表格。它有一个字段和一个提交按钮。 我隐藏了提交按钮。提交按钮实际上是通过锚点触发的 调用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")%>"> <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>
</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;
}
答案 0 :(得分:1)
您需要做的是在表单上触发jQuery验证。尝试:
$('form').validate();
要在验证成功后提交表单,请尝试:
$('form').validate({ submitHandler: function(form) { form.submit(); } });
请注意,'form'应该是表单的有效jQuery选择器...