我有一个简单的表单创建使用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" />
<% }%>
Run Code Online (Sandbox Code Playgroud)
控制器已接线并返回更新的部分视图DescriptionDiv.这一切都很巧妙.
现在我希望能够在没有提交按钮的情况下提交此表单(通过链接或图像上的clik或其他任何内容).不幸的是,这个小jQuery片段不起作用:
$('form#AjaxForm').submit();
Run Code Online (Sandbox Code Playgroud)
它确实提交了表单,但确实(我想并不奇怪)是一个常规的回发而不是Ajax.
为简单起见,上面的jQuery是这样连接起来的:
<a href="#" onclick="$('form#AjaxForm').submit(); return false;">submit</a>
Run Code Online (Sandbox Code Playgroud)
表单的onsubmit使用的是Sys.Mvc.AsyncForm.handleSubmit(),但jQuery提交似乎绕过了这个.
PS.我正在寻找这种特殊方法的解决方案.我知道如何使用普通表单实现相同的功能并使用AJAX + jQuery发布它.我对这个特定的解决方案很感兴趣.