javascript檢查表單數(shù)據(jù)是否改變的方法
更新時(shí)間:2013年07月30日 16:36:41 作者:
需要檢查用戶(hù)是否修改了一個(gè)表單中的內(nèi)容,可以使用本文提供的方法,如果修改了表單的內(nèi)容則返回true,沒(méi)修改則返回false,有需求的朋友可以參考下
有的時(shí)候,需要檢查用戶(hù)是否修改了一個(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)客戶(hù)端保存表單數(shù)據(jù)
- 利用JS輕松實(shí)現(xiàn)獲取表單數(shù)據(jù)
相關(guān)文章
基于JS實(shí)現(xiàn)右側(cè)緩慢彈窗動(dòng)態(tài)效果
在現(xiàn)代Web開(kāi)發(fā)中,動(dòng)態(tài)交互效果是提升用戶(hù)體驗(yàn)的重要手段之一,其中,從頁(yè)面右側(cè)緩慢滑出的彈窗效果因其不遮擋主要內(nèi)容、易于用戶(hù)操作而備受歡迎,本文將詳細(xì)介紹如何使用JavaScript結(jié)合CSS3動(dòng)畫(huà)實(shí)現(xiàn)這一效果,并探討其在實(shí)際項(xiàng)目中的應(yīng)用,需要的朋友可以參考下2025-02-02
JavaScript判斷變量是否為空的自定義函數(shù)分享
這篇文章主要介紹了JavaScript判斷變量是否為空的自定義函數(shù)分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01
JS實(shí)現(xiàn)上下左右對(duì)稱(chēng)的九九乘法表
九九乘法表使用很多種語(yǔ)言都可以實(shí)現(xiàn),本文給大家介紹js使用for、while循環(huán)來(lái)完成四種對(duì)稱(chēng)的九九乘法表,對(duì)九九乘法表需要的朋友參考下2016-02-02
JavaScript循環(huán)遍歷的24個(gè)方法,你都知道嗎
這篇文章主要給大家介紹了關(guān)于JavaScript循環(huán)遍歷的24個(gè)方法,文中對(duì)每種方法都給出了詳細(xì)的實(shí)例代碼,方便大家理解學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09
JavaScript實(shí)現(xiàn)可終止輪詢(xún)請(qǐng)求的方法
輪詢(xún)請(qǐng)求就是間隔相同的時(shí)間(如5s)后不斷地向服務(wù)端發(fā)起同一個(gè)接口的請(qǐng)求,當(dāng)然不能無(wú)限次去請(qǐng)求,所以輪詢(xún)必須要有個(gè)停止輪詢(xún)的機(jī)制,今天通過(guò)本文給大家介紹JavaScript實(shí)現(xiàn)可終止的輪詢(xún)請(qǐng)求,感興趣的朋友一起看看吧2022-06-06
JavaScript與Image加載事件(onload)、加載狀態(tài)(complete)
以前寫(xiě)過(guò)一個(gè)圖片等比縮放的Js函數(shù),缺陷是要等到所有圖片都加載完畢了,才能進(jìn)行等比縮放。2011-02-02

