我有一个使用创建的简单表单Ajax.BeginForm
:
<% using (Ajax.BeginForm("Update", "Description", new { id = Model.Id },
new AjaxOptions
{
UpdateTargetId = "DescriptionDiv",
HttpMethod = "post"
},new {id ='AjaxForm' })) {%>
Description:
<%= Html.TextBox("Description", Model.Description) %><br />
<input type="submit" value="save" />
<% }%>
控制器已连接并返回更新DescriptionDiv
. 这一切都很好。
现在我希望能够在没有提交按钮的情况下提交此表单(通过点击链接或图像或其他任何东西)。不幸的是,这个小小的 jQuery 代码片段并没有完成这项工作:
$('form#AjaxForm').submit();
它确实提交了表单,但是(我想这并不奇怪)是常规的回传而不是 Ajax 的回传。
为了简单起见,上面的 jQuery 是这样连接的:
<a href="#" onclick="$('form#AjaxForm').submit(); return false;">submit</a>
表单的 onsubmit 正在使用 Sys.Mvc.AsyncForm.handleSubmit() 但 jQuery submit 似乎绕过了这一点。
附注。我正在寻找这种特定方法的解决方案。我知道如何使用普通表单实现相同的功能并使用 AJAX+jQuery 发布它。不过,我对这个特定的解决方案感兴趣。