关于“用二维数组实现表单验证”(附源码) 你的验证代码帮助客户端检查输入数据有没有问题是比较有用的,效果不错。判断输入是否为空的代码不完善,需要检查用户有没有输入一长串空格。另外,要检查有没有输入了单、双引号等会破坏SQL语句的字符。另外要提醒一下,如果有重要数据需要验证,不要依靠在客户端进行的验证工作,要在服务器上再次进行验证。客户端的验证是防君子不防小人的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 阿,谢谢提醒,的确这段代码,还有不周密的地方。不过现在,我想先用二维数组改写这段代码,然后,再做完善:)to 后来人:虽然,贴子看起来长了点,但是,代码不难懂。代码经过调试,在IE6中能正常运行。保存到本地,存为modify.html和modify.js两个文件,就可以运行了。然后再考虑代码的修改,即使不修改,基本的功能已经实现了,大家可以运行看看。 函数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;} 谢谢 xuzuning(唠叨) !既用了二维数组,又提高了程序执行的效率,注释也写得恰到好处,两个星星的就是厉害!因为有些事情,所以结贴晚了一天,多多包涵。 web版电子表格,纯js写成, 需要的留言 求教这是如何实现的? 呵呵 javascript怎么做日期减日期 下拉列表框与表格的动态增加问题 请教大家如何做动态滚动的TAB页 强贴呵: iframe如何根据网页内容的多少自动伸展? 如何用Javascript在页面botton的onclick事件中,改写onload中的东西! 升星了,散分,向两顆星挺进 能不能当window.open()打开页面时,被打开页面不点击,不按键就自动提交一个表单? 怎么样实现首页窗口无边呀 求一段简单的JS(在线等ing)
to 后来人:
虽然,贴子看起来长了点,但是,代码不难懂。
代码经过调试,在IE6中能正常运行。
保存到本地,存为modify.html和modify.js两个文件,就可以运行了。
然后再考虑代码的修改,即使不修改,基本的功能已经实现了,大家可以运行看看。
{
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;
}
既用了二维数组,又提高了程序执行的效率,注释也写得恰到好处,
两个星星的就是厉害!
因为有些事情,所以结贴晚了一天,多多包涵。