js檢測離開或刷新頁面時表單數(shù)據(jù)是否更改的方法
本文實例講述了js檢測離開或刷新頁面時表單數(shù)據(jù)是否更改的方法。分享給大家供大家參考,具體如下:
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 = "對不起,頁面數(shù)據(jù)已做修改,尚未保存,確定要刷新或離開本頁面?";
}
// Safari瀏覽器
return "對不起,頁面數(shù)據(jù)已做修改,尚未保存,確定要刷新或離開本頁面?";
}
};
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數(shù)學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
JavaScript實現(xiàn)對JSON對象數(shù)組數(shù)據(jù)進行分頁處理
這篇文章主要介紹了使用JavaScript實現(xiàn)對JSON對象數(shù)組數(shù)據(jù)進行分頁處理,文中有詳細的代碼示例供大家參考,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-10-10
微信小程序第三方框架對比 之 wepy / mpvue / taro
這篇文章主要介紹了小程序第三方框架對比 ( wepy / mpvue / taro ) 分析,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-04-04
談談我對JavaScript原型和閉包系列理解(隨手筆記6)
這篇文章主要介紹我對JavaScript原型和閉包系列理解(隨手筆記6)的相關資料,需要的朋友可以參考下2015-12-12
JavaScript中的break語句和continue語句案例詳解
本文詳細介紹了JavaScript中的break和continue語句的用法及其應用場景,break用于提前退出循環(huán),而continue用于跳過當前迭代,還介紹了標簽化的break和continue,以及如何在實際編程中合理使用這些語句以提高代碼的效率和可讀性,感興趣的朋友一起看看吧2025-03-03
LayUI動態(tài)設置checkbox不顯示的解決方法
今天小編就為大家分享一篇LayUI動態(tài)設置checkbox不顯示的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09

