日期:2014-05-18  浏览次数:20752 次

怎样判断用户输入数据没
如果用户在表单里没输入数据,程序就不执行,
改怎样写???

------解决方案--------------------
<input type= "text " name= "certificateNo " maxlength= "20 " size= "20 " require= "false " dataType= "IdCardPat " msg= "身份证件号码必须填写。 " value= " " onclick= "Info(); " onkeydown= "javascript:enterToTab(); " readonly= "readonly " class= "input3 ">

<input type= "submit " value= "提交 " name= "B1 " onclick= "CheckForm() ">

function CheckForm(theForm){
var elArr = theForm.elements;

for(var i = 0; i < elArr.length; i++) with(elArr[i]){
// 获取其require属性,必填项,判断是否为空
var _require = getAttribute( "require ");
if(_require == "false " && value == " ") {
alert( "错误信息:\n\n "+getAttribute( "msg "));
// 设置焦点到出错处
var els = document.getElementsByName(getAttribute( "name "));
els[0].focus();
return false;
}
// 不是必填项的,没有值时忽略
if(value == " ") continue;
// 获取其dataType属性
var _dataType = getAttribute( "dataType ");
// 如果该属性不存在,忽略当前元素
if(!_dataType) continue;
// 选择验证用的正则表达式
var thePat = PatternsDict[_dataType];
// 根据数据类型不同,选择不同操作
switch(_dataType){
case "IdCardPat " :
// 身份证号码的验证
var str = eval(thePat);
if (str != " "){
alert( "错误信息:\n\n "+str);
// 设置焦点到出错处
var els = document.getElementsByName(getAttribute( "name "));
els[0].focus();
return false;
}
break;
case "GroupPat " :
// 是否必须选择
if(!_require) continue;
// 执行对应函数,进行验证
var gotIt = eval(thePat);
break;
case "DatePat " :
case "TimePat " :
case "DateTimePat " :
case "TextareaPat " :
case "TextareaBPat " :
// 执行对应函数,进行验证
var gotIt = eval(thePat);
break;
default :
// 用正则表达式验证elArr[i]的值
var gotIt = thePat.test(value);
break;
}
if(!gotIt){
alert( "错误信息:\n\n "+getAttribute( "msg "));
// 设置焦点到出错处
var els = document.getElementsByName(getAttribute( "name "));
els[0].focus();
return false;
}
}
return true;
}

大致的代码~