【问题标题】:Wait for form to submit completion WITHOUT ajax [duplicate]等待表单在没有ajax的情况下提交完成[重复]
【发布时间】:2014-05-15 21:03:25
【问题描述】:

所以我想提交一个表单,等待响应,然后触发触发器。问题是对表单的响应是文件内容结果,所以我不能使用 AJAX。本质上,我有一个弹出窗口,然后我等待表单提交然后关闭它,这样用户就无法在提交过程中编辑网页。

像这样:

$.Popup("Message");
var form = $('<form/>', {
    action: url,
    method: 'POST',
    style: 'display:none;'

});

... Adding stuff to form here ...

form.submit();
$.Popup.close();

问题是弹出窗口在表单响应通过之前关闭。

澄清一下:结果不是重定向,而是 FILECONTENT 结果。这不会导致页面重新加载。

提前致谢!

【问题讨论】:

  • .submit() 将强制加载页面,因此无需关闭弹出窗口。只需删除它:)
  • 弹出窗口没有关闭。我想它更像是页面的覆盖而不是弹出窗口。 (一个旋转的圆圈类型的交易;我只是将名称替换为匿名弹出窗口)
  • .submit() 不会在后台进行提交 - 它会在 action 属性中打开 url,因此除非您再次打开它,否则不会出现弹出/覆盖。
  • 你可以说多少次都可以,但它不会摆脱弹出的大声笑。我不重新打开它。问题是表单完成提交后它并没有消失。
  • 你没有提交表格,或者没有告诉我们整个故事。提交表单会导致页面加载。

标签: jquery asp.net-mvc


【解决方案1】:

我会重新调整您的提交或弹出框以在回调时执行其他命令。即。

$('a.downloadLink').click(function() {
  $.Popup.close();
});

【讨论】:

  • 这样做的问题是,一旦提交表单,它就不会等待响应。它只是提交表单并完成。在后台渲染文件的所有逻辑仍在继续,但弹出窗口已关闭。
  • 不确定我完全理解(对不起!)所以你有一个文件上传的弹出窗口,你希望他们上传然后你想解析数据,给出响应并等待 X 发生然后关闭弹出框并提交表单?
  • 好的,事情是这样的,我弹出一个弹出窗口,我提交带有数据的表单以下载文件,文件在后台呈现,然后被发送回网页(通过文件内容结果)然后我想弹出关闭。弹出窗口 -> 渲染 -> 下载 -> 关闭弹出窗口(这是最简单的描述方式)
  • 这样的事情有意义吗?调用弹窗后,在回调中渲染数据,然后在下载链接上附加一个事件监听器,然后关闭弹窗?我在上面添加了代码。
  • 我正在调查。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-11
相关资源
最近更新 更多