在表单块上执行submit()

Does submit() on a form block?

本文关键字:submit 执行 表单      更新时间:2023-09-26

我正在运行以下代码:

iframedoc.getElementsByTagName('form')[0].submit();

我需要在表单提交完成后立即执行代码。submit()是否阻止,或者我是否需要其他方式来确定表单何时提交?

否,触发表单提交不会阻止返回任何有用的内容。它只是告诉浏览器创建一个将呈现新页面的请求。但是,对于iframe,onload事件可以用于处理表单submit加载后的响应。

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事件之前,您不会看到"帧加载"警报。