我有一个简单的表单。它有一个字段和一个提交按钮。我隐藏了提交按钮。提交按钮实际上是由一个锚标记触发的,该标记调用一个javascript方法,该方法使用jQuery来获取元素并执行click()。这可以很好地工作,表单posts和记录已成功写入数据库。
因此,现在我添加了用于验证的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;
}发布于 2009-12-01 05:13:44
您需要做的是在表单上触发jQuery验证。尝试:
$('form').validate();要在成功验证后提交表单,请尝试:
$('form').validate({ submitHandler: function(form) { form.submit(); } });请注意,‘jQuery’应该是您的表单的有效表单选择器...
https://stackoverflow.com/questions/1822299
复制相似问题