1

这是一个简单的 javascript 问题。

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

还有一个按钮可以通过 post 请求将 T 的内容提交到服务器(T 被表单元素包围)。

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

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

从 onbeforeunload 调用的函数内部提交包含 T 的表单似乎是不可能的。

感谢您的任何提示。

4

2 回答 2

4

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

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

于 2012-10-29T17:50:27.500 回答
0

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

window.onbeforeunload = confirmExit;

function confirmExit(){

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

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

}
于 2012-10-29T17:54:03.350 回答