Chinaunix首页 | 论坛 | 博客
  • 博客访问: 342431
  • 博文数量: 76
  • 博客积分: 2790
  • 博客等级: 少校
  • 技术积分: 882
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-13 09:15
个人简介

Will do as will say

文章分类

全部博文(76)

文章存档

2013年(7)

2012年(13)

2011年(2)

2009年(2)

2008年(52)

我的朋友

分类: Java

2008-08-13 10:26:35

使用场合:当某个页面数据修改时,需要执行某些操作时  
在页面的body加载事件(onload)中加上initFileds()就可以记录页面的初始数据
在需要判断页面数据是否改变时调用checkModification()方法就可判断数据是否改变
返回值为true就是已经改变
返回值为false就是没有改变
  
    // 页面编辑数据
    var inputsData;
    var textareasData;
    var selectsData;
    // 记录下表单中的原始值
    function initFileds() {
        var inputs = document.getElementsByTagName("input");
        var textareas = document.getElementsByTagName("textarea");
        var selects = document.getElementsByTagName("select");
        inputsData = new Array(inputs.length);
        for (var i=0;i            inputsData[i] = inputs[i].value;
            if (inputs[i].type=="radio") {
                inputsData[i]=inputs[i].checked;
            }
        }
        textareasData = new Array(textareas.length);
        for (var i=0;i            textareasData[i] = textareas[i].value;
        }
        selectsData = new Array(selects.length);
        for (var i=0;i            selectsData[i] = selects[i].value;
        }
    }
    /*
     * 判断表单中值是否被修改了
     * submitCommand 表单有改动时,执行的javascript代码
     */
    function checkModification(submitCommand) {
        var inputs = document.getElementsByTagName("input");
        var textareas = document.getElementsByTagName("textarea");
        var selects = document.getElementsByTagName("select");
        var hasBeenChanged = false;
        for (var i=0;i            if (inputs[i].type=="radio"&&(inputs[i].checked!=inputsData[i])) {
                hasBeenChanged = true;
                inputsData[i]=inputs[i].checked;
            }
            if (inputs[i].type!="radio"&&inputsData[i]!=inputs[i].value) {
             if(inputs[i].name!="actionType"){
                 hasBeenChanged = true;
                }
                inputsData[i]=inputs[i].value;
            }
        }
        for (var i=0;i            if (textareasData[i]!=textareas[i].value) {
                hasBeenChanged = true;
                textareasData[i]=textareas[i].value;
            }
        }
        for (var i=0;i            if (selectsData[i]!=selects[i].value) {
                hasBeenChanged = true;
                selectsData[i]=selects[i].value;
            }
        }
         if (hasBeenChanged&&confirm("数据已经改变,是否保存?")) {
             eval(submitCommand);
         }
    }
阅读(1175) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~