Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭页面或单击“上一步”按钮前提示用户验证的消息_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 关闭页面或单击“上一步”按钮前提示用户验证的消息

Javascript 关闭页面或单击“上一步”按钮前提示用户验证的消息,javascript,jquery,ajax,Javascript,Jquery,Ajax,我只是想知道,如果用户仍在文本字段中执行某些编辑,如何在关闭页面之前(或单击后退按钮之前)发布JavaScript验证消息 Facebook在聊天时提示浏览器验证消息,用户试图关闭浏览器或单击后退按钮。我知道我可以使用window.onbeforeunload或window.unload显示消息 但是如何确定客户端的编辑状态呢? 或者,如果该编辑状态由应用程序的服务器端控制,如何将其发送到客户端?JS: window.onbeforeunload = function() { var e

我只是想知道,如果用户仍在文本字段中执行某些编辑,如何在关闭页面之前(或单击后退按钮之前)发布JavaScript验证消息

Facebook在聊天时提示浏览器验证消息,用户试图关闭浏览器或单击后退按钮。我知道我可以使用
window.onbeforeunload
window.unload
显示消息

但是如何确定客户端的编辑状态呢? 或者,如果该编辑状态由应用程序的服务器端控制,如何将其发送到客户端?

JS:

window.onbeforeunload = function() {
    var editingBox = document.getElementById("editingbox");
    if(editingBox.val != "")
        if(!window.confirm("Are you sure you want to leave?"))
            return false;
}
HTML:


顶级解决方案。在一个用户端,key up将进行ajax调用,同时在db中设置编辑字段或在mongodb中设置键。然后,您在window.onbeforeunload上进行ajax调用,以查看user one是否正在编辑

@AlexShilman您不会这样做,但如果字段中有文本,则用户肯定正在键入(或已经键入)。也许我误解了这个问题:p@AlexShilman当然,如果输入框中有文本,那么用户显然仍然在编辑并且没有提交-我不明白为什么必须进行ajax调用,因为在其他用户点击enter之前,文本不会显示在框中。是吗?@AlexShilman你说得对,谷歌聊天在关闭浏览器时不会提示任何消息。好的,你可以随时检查输入字段的值,事实上我知道你可以,因此,我选择@user2521439-最坏情况下,如果更改可编辑字段且长度>0,则可以将变量设置为值1,然后在退出页面之前检查该变量是否有值抱歉,但这很糟糕。想想看,FB有10亿用户,所以如果1%的用户在同一时间聊天,那么每输入一个字符就有1000万个ajax调用,这样他们就可以显示一条消息,说“别走,你可能还没完成!”呃,不。我理解这个问题的方式是如果你和我在聊天,在我关闭窗口浏览器之前,如何确定浏览器窗口聊天输入框的编辑状态。OP清楚地说:“我只是想知道,如果用户仍在文本字段中执行某些编辑,在关闭页面之前(或单击“上一步”按钮之前),如何发布JavaScript验证消息?”它没有提到对方的地位,如果我读错了,会道歉,但不知道我能做什么。