onunload 表单提交问题

问题是: 当关闭页面的时候,表单数据会提交

js后面的代码是这样

[code="java"]
if (hasBeenChanged&&confirm("数据已经改变,是否保存?")) {
window.setTimeout(document.form.submit(),1000);
}
[/code]

ie7可以保存数据 可页面跳转后原始页面不变。 不支持google浏览器

提交到后台的时候 表单的数据全部为空。 我想有可能是页面离开后才提交。 但是我alert表单里面数据是有数据的。

那这样吧,用ajax提交是肯定没问题的,因为我以前这样做过,现在都很少写直接的submit提交了,都使用ajax提交。你可以试试。希望你能找到更好的解决方法。
其实这样的提交的话,在刷新的时候也会提交表单,你不断刷新的话就会提交N次表单吧。

是关闭页面动作触发的表单提交吗?
alert是客户端的数据,解释不了为什么后台没数据

你的浏览器都已经关闭了,浏览器已经关闭了,http连接也就关闭了。
使用onbeforeunload吧,浏览器会等这里面的代码都执行完成了才关闭。

window.setTimeout(document.form.submit(),1000);
为什么要等1秒后执行呢, 不是立即执行