需要检查用户是否修改了一个表单中的内容
可以使用本文提供的方法
如果修改了表单的内容则返回true
没修改则返回false
有需求的朋友可以参考下
有的时候需要检查用户是否修改了一个表单中的内容则可以使用下面的技巧其中如果修改了表单的内容则返回true没修改表单的内容则返回false代码如下
复制代码 代码如下:
function formIsDirty(form) {
for (var i = ; i < formelementslength; i++) {
var element = formelements[i];
var type = elementtype;
if (type == "checkbox" || type == "radio") {
if (elementchecked != elementdefaultChecked) {
return true;
}
}
else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") {
if (elementvalue != elementdefaultValue) {
return true;
}
}
else if (type == "selectone" || type == "selectmultiple") {
for (var j = ; j < elementoptionslength; j++) {
if (elementoptions[j]selected != elementoptions[j]defaultSelected) {
return true;
}
}
}
}
return false;
}
windowonbeforeunload = function(e) {
e = e || windowevent;
if (formIsDirty(documentforms["someForm"])) {
if (e) {
ereturnValue = "You have unsaved changes";
}
return "You have unsaved changes";
}
};