欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > JS教程 >

JS检测分开页面时表单数据能否更改

发表于2019-04-23 18:02| 次阅读| 来源网络整理| 作者session

摘要:JS检测分开页面时表单数据能否更改
JS检测分开页面时表单数据能否更改

  function formIsDirty(form) {

      for (var i = 0; i < form.elements.length; i++) {

          var element = form.elements[i];

          var type = element.type;

          if (type == "checkbox" || type == "radio") {

              if (element.checked != element.defaultChecked) {

                  return true;

              }

          }

          else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") {

              if (element.value != element.defaultValue) {

                  return true;

              }

          }

          else if (type == "select-one" || type == "select-multiple") {

              for (var j = 0; j < element.options.length; j++) {

                  if (element.options[j].selected != element.options[j].defaultSelected) {

                      return true;

                  }

              }

          }

      }

      return false;

  }

  window.onbeforeunload = function (e) {

      e = e || window.event;

      if (formIsDirty(document.forms["someForm"])) {

          // IE 和 Firefox   

          if (e) {

              e.returnValue = "对不起,页面数据已做修正,尚未保存,确定要刷新或分开本页面?";

          }

          // Safari阅读器    

          return "对不起,页面数据已做修正,尚未保存,确定要刷新或分开本页面?";

      }

  };