如果表单信息已更新 (album.updated = true),我在窗口卸载时提交表单时遇到问题:
window.onunload = function(evnt) { if (album.updated) { var save = confirm('Do you want to save changes?'); if (save) { alert('submitting form...'); document.edit_photos.submit(); } } }
它提醒“正在提交表单”,但没有保存任何内容。但是,当我使用“保存”按钮进行定期提交时,它会保存信息。这里可能出了什么问题?
最佳答案
您无法通过 unload
事件可靠地与服务器交互。
发送 AJAX 请求可能更可靠一些,但也不应依赖。
相反,您应该处理 onbeforeunload
事件并返回“您有未保存的更改”;
。
这将指示浏览器显示一个确认对话框,允许用户取消导航。 (之后他可以手动保存)
关于javascript - 在 window.unload 上提交表单时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4129782/