ste*_*776 6 c# asp.net-mvc razor asp.net-mvc-3
我有一个包含ajax表单的局部视图.这个局部视图通过ajax调用加载到我的页面上.我可以编辑字段并提交表单,一切正常.但是,如果我重新加载表单N次,单击保存按钮时表单将提交N次.
这是部分视图的代码....
@model blah blah...
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript</script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"type="text/javascript"></script>
<div id="modalForm">
@using (Ajax.BeginForm("Edit", "Info", new{id = Model.UserId}, AjaxOptions{OnSuccess = "infoUpdate" }))
{
//FORM FIELDS GO HERE
<input type="submit" value="Save" />
}
</div>
Run Code Online (Sandbox Code Playgroud)
我做错了导致这种行为的原因是什么?
每次重新加载表单时,都会放置一个触发器来提交表单。因此,如果您重新加载表单 n 次,则您有 n 次提交。
如果可能的话,尝试仅加载表单一次。
您可以尝试解除绑定提交触发器,当您点击提交按钮时:
<input type="submit" value="Save" onClick="submitForm()" />
var submitForm = function() {
$("#formAddressShipping form").trigger('submit');
$("#formAddressShipping form").unbind('submit');
return false;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8103 次 |
| 最近记录: |