Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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/8/vim/5.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 在刷新页面时停止safari显示未保存的表单提示_Javascript_Html_Safari - Fatal编程技术网

Javascript 在刷新页面时停止safari显示未保存的表单提示

Javascript 在刷新页面时停止safari显示未保存的表单提示,javascript,html,safari,Javascript,Html,Safari,我有一个表单(只有一个文本区域),它是使用AJAX提交的,允许用户保存关于页面的注释。表单在页面上始终可见,您可以不断单击“保存”以不断更新注释 在safari(但不是chrome或FF)中,如果您开始在表单中键入并单击“重新加载”,浏览器会提示您“是否确实要重新加载,您有未保存的更改”类型对话框。我的问题是,如果保存备忘,然后单击“重新加载”而不对文本区域进行任何进一步更改,该对话框也会弹出。javascript中是否有某种方法可以将表单标记为已提交//未更改,以便safari不显示提示 这可

我有一个表单(只有一个文本区域),它是使用AJAX提交的,允许用户保存关于页面的注释。表单在页面上始终可见,您可以不断单击“保存”以不断更新注释


在safari(但不是chrome或FF)中,如果您开始在表单中键入并单击“重新加载”,浏览器会提示您“是否确实要重新加载,您有未保存的更改”类型对话框。我的问题是,如果保存备忘,然后单击“重新加载”而不对文本区域进行任何进一步更改,该对话框也会弹出。javascript中是否有某种方法可以将表单标记为已提交//未更改,以便safari不显示提示

这可能不是解决您问题的最好办法。。但是,如果从表单中删除html表单标记,应该可以解决这个问题

因为您已经在使用ajax,所以可以直接从DOM获取元素的值

例如

 <form><textarea></textarea></form>

将发出“你确定吗”的信息。。在哪里

 <textarea></textarea>

只需重新加载


希望这能在周五下午有所帮助:)

我对safari不是很确定,但您可以通过以下方式在所有浏览器中使用此行为:

var confirmLeavePage = "Are you sure you want to exit this page, you have unsaved changes..."
window.onbeforeunload = askConfirm;
function askConfirm(){
    if (confirmLeavePage != false){
        return confirmLeavePage;
    }
}
然后,当文档没有修改时,只需将confirmLeavePage设置为false


希望这能有所帮助。

感谢您的想法,但我希望将其保留为一个表单,以便在禁用javascript时作为标准提交。