一次提交多个表单将中止除最后一个表单外的所有表单提交
Submiting multiple forms at once aborts all the form submissions, except the last
我有一个ASP.NET MVC应用程序,正在使用devexpress的pivot网格和我需要用一个页面上的网格做一个excell。文档中说,为了按页面上的状态导出轴心网格(保持列收缩/展开),您需要将轴心网格保存在表单中并提交。
我的问题是,当我提交页面上的所有表格时,只有一个完成了,其他的都被取消了。我尝试过使用ajaxForm插件,但这并不能保持页面上的网格(所有列都展开了)。
我的问题是,如果前一个表格已经发布完毕,你是否知道一种提交表格的方法?
我的表格看起来像这个
<form class="table-content" method="post" target="excel-export-iframe" style="display: block;" action="url">
以隐藏的iframe作为目标
<iframe style="display: none" id="excel-export-iframe" name="excel-export-iframe"></iframe>
这是提交的代码
$(".table-content").each(function () {
$(this).submit();
});
根据@Rory 的评论
使用以下AJAX代码
$(".table-content").each(function () {
var data = $(this).serialize();
$.post('url', data);
});
我最终在目标iframe中加载了一些东西,然后使用load-the函数发布下一个表单,依此类推
<form class="table-content" method="post" target="excel-export-iframe" style="display: block;" action="@Url.Action("ExcelExport")">
<iframe style="display: none" id="excel-export-iframe" name="excel-export-iframe"></iframe>
var submitArray;
$("#excel-export-iframe").load(function () {
var status = $("#excel-export-iframe").contents().find("pre").text();
if (status == "Post Successfull") {
if (submitArray.length != 0) {
$(submitArray .splice(0, 1)).submit();
}
}
});
$('.btn-export').click(function () {
submitArray = $(".table-content");
$(submitArray .splice(0, 1)).submit();
}
在控制器中,我返回这个:
public ActionResult ExcelExport(...)
{
...
return Content("<pre>Post Successfull</pre>");
}
我很确定这不是最佳实践,但这符合我的目的,考虑到使用Ajax不是一种选择,我找不到任何其他方式来发布多个表单。
相关文章:
- 为网站表单创建一个专业的日历
- 使用javascript从表单发布一个值,然后使用php发布
- Javascript表单.使一个条目依赖于另一个条目
- 表读取最后一个变量
- javascript表单提交一个值应该大于另一个值x>y
- 两个表单,一个选择/下拉框-需要将选择值从一个表单复制到另一个表单
- 几个 Ajax 添加到购物车表单在一个页面上
- 表单操作 一个外部 JavaScript 函数
- 一次提交两个 HTML 表单,一个在当前窗口中,一个在新窗口中
- javascript 如何区分表单的一个按钮和另一个按钮
- 对单个页面上的多个表单使用一个脚本
- 如何防止jquery验证表单只有一个按钮
- 在提交jsf按钮时向表单传递一个javascript值
- 我的php表单有一个三个文本框,每个文本框都有ID和Name
- 如何使用JavaScript将多个HTML表单作为一个表单提交到PHP脚本
- 禁用发布表单的一个表单元素的发布
- 在AngularJS中用表单传递一个过滤器
- 我有一个表单和一个按钮来添加它的副本.我希望重复的无线电输入具有变量名
- 通过表单传递一个可满足内容的元素
- 流星使用namedContext添加invalidkeys到AutoForm表单返回一个错误