我正在运行以下代码:
iframedoc.getElementsByTagName('form')[0].submit();
我需要在表单提交完成后立即执行代码。submit()
是否会阻塞,或者我是否需要其他方法来确定表单何时提交?
发布于 2015-02-11 15:18:30
不,触发表单提交不会阻塞或返回任何有用的东西。它只是告诉浏览器创建一个将呈现新页面的请求。但是,对于iframe,onload
事件可用于在表单加载后处理表单提交的响应。
iframedoc = iframe.contentDocument;
iframe.onload = function(e) {
alert('frame loaded');
// read its url, content, etc...
};
iframedoc.getElementsByTagName('form')[0].submit();
// immediately returns undefined and your code proceeds
由于JavaScript在单线程中运行,因此在完成所有后续代码、浏览器提交表单和onload事件触发之前,您不会看到“frame onload”警报。
https://stackoverflow.com/questions/28457690
复制