国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript判斷用戶是否對表單進行了修改的方法

2019-11-20 12:54:05
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript判斷用戶是否對表單進行了修改的方法。分享給大家供大家參考。具體分析如下:

這段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"])) {  // For IE and Firefox  if (e) {   e.returnValue = "You have unsaved changes.";  }  // For Safari  return "You have unsaved changes."; }};

下面是一個完整的范例代碼

復制代碼 代碼如下:
Click on below button. Now change some values in form and click the button again.
<form name="fooForm">
    <input type="text" name="t"><br>
    <input type="text" name="2" value="default"><br>
    <select name="some">
        <option value="fooo" selected="">foo</option>
        <option value="bar">bar</option>
    </select><br>
</form>
    <button onclick="alert(formIsDirty(document.fooForm))">Click to check if Form is Dirty</button>
<br>
<script>
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;
}
</script>

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉节县| 广河县| 青川县| 渑池县| 达孜县| 政和县| 哈巴河县| 都兰县| 龙门县| 北辰区| 积石山| 阿拉尔市| 扬州市| 青田县| 大石桥市| 木兰县| 游戏| 巴塘县| 中牟县| 长沙市| 蓝山县| 晋中市| 仁布县| 凌源市| 大兴区| 卢龙县| 怀集县| 包头市| 南召县| 平阴县| 临桂县| 平江县| 水富县| 海原县| 景泰县| 仁化县| 玉屏| 巩义市| 永福县| 长乐市| 平阴县|