我有一个使用创建的简单表单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 提交似乎绕过了这一点。
附言。我正在寻找这种特殊方法的解决方案。我知道如何使用普通表单实现相同的目的并使用 AJAX+jQuery 发布它。不过,我对这个特定的解决方案很感兴趣。