JavaScript submit() 后跟 self.close() 不起作用

javascript submit() followed by self.close() doesn't work

本文关键字:close 不起作用 self 后跟 JavaScript submit      更新时间:2023-09-26

>我正在使用带有onchange事件的文件上传输入,该事件提交表单然后关闭页面。

onchange= "document.forms[0].submit();self.close();"
如果我只使用 submit() 函数,上传

就可以了,但如果我包含 self.close() 函数,上传永远不会发生。

任何想法这有什么问题?

你我的朋友正在处理竞争条件。表格会在窗口关闭之前熄灭吗?当响应从服务器返回时,您需要关闭窗口。

您可以通过添加另一个调用 onSubmit 然后调用 self.close() 方法来解决此问题。在页面或正文加载上添加此提交条件,您应该很高兴。

这是因为浏览器发出的请求异步运行,并且不能保证在调用 close 方法时表单已成功提交。

使用 onSubmit 事件。