这是一个简单的JavaScript问题。
我有一个页面C,其中有一个textarea T. 通过点击C上的各种按钮来添加T的内容(基本上T累积了点击按钮的时间列表)。
还有一个按钮,用于通过发布请求将T的内容提交给服务器(T由表单元素包围)。
当用户忘记点击提交按钮并关闭页面窗口时,我希望无论如何都要发布T的内容,就好像用户在关闭窗口之前点击了提交按钮一样。
我知道我可以拦截页面关闭并提示用户进行提交,但这不是我想要的。
似乎无法从onbeforeunload调用的函数内部提交包含T的表单。
感谢任何提示。
答案 0 :(得分:4)
这根本不可能:这是一项安全措施,旨在确保网站无法阻止用户立即离开页面。
您可以做的最好的事情是每次更改字段时使用ajax发布表单。
答案 1 :(得分:0)
我在我的应用程序的一部分中使用了这段代码 - 它虽然没有捕获任何文本,但你可以尝试一下。
window.onbeforeunload = confirmExit;
function confirmExit(){
data = $("#data").val();
$.ajax({
url: 'complete.php?data=' + data
});
}