离开页面时自动发布表单

时间:2012-10-29 17:49:42

标签: javascript

这是一个简单的JavaScript问题。

我有一个页面C,其中有一个textarea T. 通过点击C上的各种按钮来添加T的内容(基本上T累积了点击按钮的时间列表)。

还有一个按钮,用于通过发布请求将T的内容提交给服务器(T由表单元素包围)。

当用户忘记点击提交按钮并关闭页面窗口时,我希望无论如何都要发布T的内容,就好像用户在关闭窗口之前点击了提交按钮一样。

我知道我可以拦截页面关闭并提示用户进行提交,但这不是我想要的。

似乎无法从onbeforeunload调用的函数内部提交包含T的表单。

感谢任何提示。

2 个答案:

答案 0 :(得分:4)

这根本不可能:这是一项安全措施,旨在确保网站无法阻止用户立即离开页面。

您可以做的最好的事情是每次更改字段时使用ajax发布表单。

答案 1 :(得分:0)

我在我的应用程序的一部分中使用了这段代码 - 它虽然没有捕获任何文本,但你可以尝试一下。

window.onbeforeunload = confirmExit;

function confirmExit(){

    data = $("#data").val();

    $.ajax({
        url: 'complete.php?data=' + data
    });

}