javascript - 如果表单已填写但未提交,浏览器会在离开页面之前提示用户

标签 javascript html forms browser

我看到一些网站显然执行某种类型的浏览器功能,提示用户是否因为有表单未提交而想要离开页面:

“此页面要求您确认是否要离开 - 您输入的数据可能不会保存。”

我知道这可以用 JS 编程,但是是否有本地函数或选项建议浏览器检测这种情况?

我相信有一个,因为我见过几个网站(例如 Facebook)以相同的方式使用react,而且它们似乎都使用这种浏览器选项。

autocomplete="on/off"一样允许浏览器自动或不填写表单

谢谢

最佳答案

<script language="JavaScript" type="text/javascript">
   //<![CDATA[
       window.onbeforeunload = function(){
           // Check the state of the form
            if(form_changed){
              return false;
            }else{
              return true;
            }

       };
   //]]>
</script>

当函数向window.onbeforeunload返回false时,浏览器自动提示以下问题:“此页面要求您确认是否要离开 - 您输入的数据可能不会被保存。” (firefox)

关于javascript - 如果表单已填写但未提交,浏览器会在离开页面之前提示用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806166/

相关文章:

javascript - html表格列调整大小

javascript - 将 JSON 属性的值分配给元素的 innerHTML

javascript - 在 browserify 之前预处理 js

javascript - 使用 will-change 属性而不是 translate3d 进行硬件加速有什么好处?

php - 如何将表单字段值发送到 WordPress 中的 php mysql 查询?

php - 基于输入类型选择的表单操作

javascript - 使用 onClick 禁用文本字段时更改文本颜色?

javascript - 100% 固定宽度/高度的 iFrame 缺少滚动条

html - 我应该将样式表链接放在 html 代码中的什么位置?

php - 发布 PHP 表单后打开带有形成的 URL 的浏览器窗口