已发布表单上的就绪事件

发布于 2024-08-12 04:40:53 字数 295 浏览 12 评论 0原文

我在 iframe 中有一个表单,当发布此表单时,将向用户返回一个文件(基于表单信息)。使用 content-disposition:attachment 返回此文件,以便仅显示文件保存对话框。一旦文件返回给用户,我想用 javascript 做一些事情。我尝试附加 $(iframe).ready();表单发布后到 iframe,但它会立即消失。

值得注意的是: $(iframe).load();也不起作用,它永远不会被触发。 从技术上讲,表单发布是 iframe 的第二次加载(第一次加载在 iframe 中显示表单)。

有什么想法吗?

I have a form in an iframe, when this form is posted a file is returned to the user (based on the form information). This file is returned using content-disposition:attachment so that only a file save dialog shows up. I want to do something in javascript once the file has been returned to the user. I tried attaching a $(iframe).ready(); to the iframe after the form is posted, but it goes off instantaneously.

Worth noting:
$(iframe).load(); does not work either, it is never triggered.
The form post is technically the second load of the iframe (the first load displays the form in the iframe).

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

佼人 2024-08-19 04:40:53

唯一想到的是不要立即将文件发送回用户,而是输出一个 HTML 框架,1. 执行 Javascript,2. 完成后,重定向到下载文件(可能带有附加的 <<)。 meta> 重定向以确保其正常运行)。除此之外,我认为您没有太多机会在​​交付下载文件的同时执行 Javascript。

Only thing that comes to mind is to not immediately send the file back to the user, but to output a HTML skeleton that 1. Executes the Javascript and 2. when that is done, redirects to the download file (maybe with an additional <meta> redirect to make sure it works out). Other than that, I don't think you will have much chance of executing Javascript together with delivering a downlad file.

找回味觉 2024-08-19 04:40:53

您可以尝试在表单提交后在 iframe 回调中添加一些脚本,该脚本将在父窗口中运行函数?

父窗口

function test(){
 alert('Success!');
}

回调iFrame

$(window).load(function(){
 parent.test();
})

You could try adding some script in the iframe callback after form submit that will run a function in the parent window?

Parent Window

function test(){
 alert('Success!');
}

Callback iFrame

$(window).load(function(){
 parent.test();
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文