<script>
// 验证当前表单的内容是否进行修改
//有2点注意
//1,表单元素都有默认值属性,比如element.defaultValue , element.defaultChecked ,element.options[j].defaultSelected
//2,select元素的type类型是:""select-one"或者"select-multiple",而不是"select"。
//
function IsFormChanged() {
var isChanged = false;
var form = document.forms[0];
for (var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
var type = element.type;
if (type == "text" || type == "hidden" || type == "textarea" || type == "button") {
if (element.value != element.defaultValue) {
isChanged = true;
break;
}
} else if (type == "radio" || type == "checkbox") {
if (element.checked != element.defaultChecked) {
isChanged = true;
break;
}
} 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) {
isChanged = true;
break;
}
}
} else {
}
}
return isChanged;
}
</script>
<script language="javascript">
// 离开页面清除有关的 保存的vfilter
window.onbeforeunload = function ()
{
var s=IsFormChanged();
if(s==true)
{
return "当前数据尚未保存";
}
}
</script>
使用方法:在标记为红色的部分,添加在页面中。在form表单
显示效果:表单中,修改了的时候,返回有关确认离开的提示。