你的验证代码帮助客户端检查输入数据有没有问题是比较有用的,效果不错。判断输入是否为空的代码不完善,需要检查用户有没有输入一长串空格。另外,要检查有没有输入了单、双引号等会破坏SQL语句的字符。另外要提醒一下,如果有重要数据需要验证,不要依靠在客户端进行的验证工作,要在服务器上再次进行验证。客户端的验证是防君子不防小人的。

解决方案 »

  1.   

    阿,谢谢提醒,的确这段代码,还有不周密的地方。不过现在,我想先用二维数组改写这段代码,然后,再做完善:)
    to 后来人:
    虽然,贴子看起来长了点,但是,代码不难懂。
    代码经过调试,在IE6中能正常运行。
    保存到本地,存为modify.html和modify.js两个文件,就可以运行了。
    然后再考虑代码的修改,即使不修改,基本的功能已经实现了,大家可以运行看看。
      

  2.   

    函数validField改做:function validField()
    {   
    if (isCanceled)
    {
    return true;
    }
    var fields = ["name","from_ymd","current_state"]; // 待检测的对象名
    var obj,field; // 工作变量
    var rowCount = window.document.modifyForm.rowCount.value;
    var errorItems = new Array();
    var count = 0; for (var i = 0; i < rowCount; i++)
    {
    for(var j=0; j<fields.length; j++)
    {
    field = fields[j]; // 取得对象名
    obj = window.document.modifyForm[field][i]; // 取得实体
    obj.style.backgroundColor="white"; // 设置“白色”背景
    if(obj.value == "") // 检查是否为空
    {
    errorItems[count] = [field,i+1]; // 记录不合格对象,首行为1
    count++;
    obj.style.backgroundColor="red"; // 设置“红色”背景
    }
    }
    } if (errorItems.length > 0)
    {
    var s = "未通过的有\n";
    for(v in errorItems)
    s += errorItems[v][1]+"行:"+errorItems[v][0]+"\n";
    alert(s); // 调试用。查看errorItems
    // alert("The items with red color should not be empty!");
    return false;
    }
    return true;
    }
      

  3.   

    谢谢 xuzuning(唠叨) !
    既用了二维数组,又提高了程序执行的效率,注释也写得恰到好处,
    两个星星的就是厉害!
    因为有些事情,所以结贴晚了一天,多多包涵。