javascript檢查表單數(shù)據(jù)是否改變的方法
更新時(shí)間:2013年07月30日 16:36:41 作者:
需要檢查用戶是否修改了一個(gè)表單中的內(nèi)容,可以使用本文提供的方法,如果修改了表單的內(nèi)容則返回true,沒(méi)修改則返回false,有需求的朋友可以參考下
有的時(shí)候,需要檢查用戶是否修改了一個(gè)表單中的內(nèi)容,則可以使用下面的技巧,其中如果修改了表單的內(nèi)容則返回true,沒(méi)修改表單的內(nèi)容則返回false。代碼如下:
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"])) {
if (e) {
e.returnValue = "You have unsaved changes.";
}
return "You have unsaved changes.";
}
};
復(fù)制代碼 代碼如下:
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"])) {
if (e) {
e.returnValue = "You have unsaved changes.";
}
return "You have unsaved changes.";
}
};
您可能感興趣的文章:
- js檢測(cè)離開(kāi)或刷新頁(yè)面時(shí)表單數(shù)據(jù)是否更改的方法
- jquery ajax 如何向jsp提交表單數(shù)據(jù)
- 深入分析JSON編碼格式提交表單數(shù)據(jù)
- 一個(gè)檢測(cè)表單數(shù)據(jù)的JavaScript實(shí)例
- JSP 重置按鈕清空傳入的表單數(shù)據(jù)實(shí)例
- js清空表單數(shù)據(jù)的兩種方式(遍歷+reset)
- javascript定時(shí)保存表單數(shù)據(jù)的代碼
- js下利用userData實(shí)現(xiàn)客戶端保存表單數(shù)據(jù)
- 利用JS輕松實(shí)現(xiàn)獲取表單數(shù)據(jù)
相關(guān)文章
javascript中簡(jiǎn)單的進(jìn)制轉(zhuǎn)換代碼實(shí)例
這篇文章介紹了javascript中簡(jiǎn)單的進(jìn)制轉(zhuǎn)換代碼實(shí)例,有需要的朋友可以參考一下2013-10-10JavaScript設(shè)計(jì)模式之調(diào)停者模式實(shí)例詳解
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之調(diào)停者模式,詳細(xì)分析了調(diào)停者模式的概念、原理、優(yōu)缺點(diǎn)并結(jié)合javascript實(shí)例形式給出了相關(guān)使用技巧,需要的朋友可以參考下2018-02-02一個(gè)友好的.改善的 Object.prototype.toString的實(shí)現(xiàn)
一個(gè)友好的.改善的 Object.prototype.toString的實(shí)現(xiàn)...2007-04-04小程序:授權(quán)、登錄、session_key、unionId的詳解
這篇文章主要介紹了小程序:授權(quán)、登錄、session_key、unionId的詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05XMLHTTP 亂碼的解決方法(UTF8,GB2312 編碼 解碼)
XMLHTTP 亂碼的解決方法(UTF8,GB2312 編碼 解碼)(附帶解決DHTMLX不能用中文的問(wèn)題)2011-01-01微信小程序開(kāi)發(fā)問(wèn)題之wx.previewImage
這篇文章主要給大家介紹了關(guān)于微信小程序開(kāi)發(fā)問(wèn)題之wx.previewImage的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12