首頁 > web前端 > js教程 > JavaScript判斷使用者是否對表單進行了修改的方法_javascript技巧

JavaScript判斷使用者是否對表單進行了修改的方法_javascript技巧

WBOY
發布: 2016-05-16 16:08:47
原創
1326 人瀏覽過

本文實例講述了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 a a. 🎜>

   

   

   


   


<script><br /> function formIsDirty(form) {<br />   for (var i = 0; i < form.elements.length; i ) {<br />     var element = form.elements[i];<br />     var type = element.type;<br />     if (type == "checkbox" || type == "radio") {<br />       if (element.checked != element.defaultChecked) {<br />         return true;<br />       }<br />     }<br />     else if (type == "hidden" || type == "password" ||<br />              type == "text" || type == "textarea") {<br />       if (element.value != element.defaultValue) {<br />         return true;<br />       }<br />     }<br />     else if (type == "select-one" || type == "select-multiple") {<br />       for (var j = 0; j < element.options.length; j ) {<br />         if (element.options[j].selected !=<br />             element.options[j].defaultSelected) {<br />           return true;<br />         }<br />       }<br />     }<br />   }<br />   return false;<br /> }<br /> </script>
希望本文所述對大家的javascript程式設計有所幫助。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板