<p>说明:JavaScript脚本,验证表单中的数据项 begin<br />
-------------------------------------------------------------------------------<br />
*/<br />
function checkForm(objFrm){<br />
var len = 0;<br />
len = objFrm.elements.length;<br />
var i = 0;<br />
var objCheck;//文本框<br />
for(i = 0; i < len; i ++){<br />
objCheck = objFrm.elements[i];<br />
if(objCheck.type =="text" && !f_checkTextValid(objCheck) ){<br />
return false;<br />
}<br />
}//下拉框<br />
for(i = 0; i < len; i ++){<br />
objCheck = objFrm.elements[i];<br />
if(objCheck.type =="select-one" && !f_checkSelectValid(objCheck) ){<br />
return false;<br />
}<br />
<br />
//时间段有效<br />
if( f_checkStartAndEndDate(objFrm) == false) return false;<br />
return true;<br />
}<br />
function f_checkSelectValid(obj){<br />
//alert("check select");<br />
if(obj.options.length <= 0){<br />
alert("下拉选框无数据!");<br />
return false;<br />
}<br />
return true;<br />
}<br />
<br />
function f_checkStartAndEndDate(frm){<br />
var len = frm.elements.length;<br />
if(len == null && len == 0) return true;<br />
var i=0;<br />
var temp;<br />
var objCheck;<br />
var objStartDate;<br />
var objEndDate;<br />
//alert("start date period check");<br />
try{<br />
for(i=0; i< len ; i++){<br />
objCheck = frm.elements[i];<br />
temp = objCheck.name;<br />
if( temp.indexOf("startDate") >0 ||temp.indexOf("beginDate")>0 )<br />
objStartDate = objCheck;<br />
if( temp.indexOf("endDate") > 0 )<br />
objEndDate = objCheck;<br />
}<br />
<br />
//alert(objStartDate.value);<br />
//alert(objEndDate.value);<br />
if(objStartDate.value==null || objStartDate.value =="" || objStartDate.value ==null || objStartDate.value ==""){<br />
return true;<br />
}<br />
<br />
return checkTwoDate(objStartDate.value, objEndDate.value);<br />
//alert("end date period check");<br />
}catch(E){}<br />
return true;<br />
}<br />
function f_checkTextValid(obj){<br />
//不能为空<br />
if(obj.getAttribute("isNeed") != null){<br />
if(f_isNotNull(obj) == false) return false;<br />
}<br />
<br />
//不能超过长度<br />
if(obj.getAttribute("maxlength") != null){<br />
if(f_checkLength(obj) == false) return false;<br />
}<br />
var checkType ="";<br />
checkType = obj.getAttribute("checkType");<br />
if(checkType==null||checkType=="") return true;//<br />
if (checkType.indexOf("number") >=0){<br />
if(f_isNumber(obj) == false) return false;<br />
if(f_checkNumType(obj,checkType) == false) return false;<br />
}//<br />
if (checkType.indexOf("positive") >=0){<br />
if(f_isNumber(obj) == false) return false;<br />
if(f_isPositive(obj)==false) return false;<br />
if(f_checkNumType(obj,checkType) == false) return false;<br />
}<br />
if (checkType.indexOf("date") >=0){<br />
if(f_checkDate(obj) == false) return false;<br />
}<br />
/*<br />
switch(checkType){<br />
case "number": if(f_isNumber(obj) == false) return false;break;<br />
case "date": if(f_checkDate(obj) == false) return false;break;<br />
default:<br />
}<br />
*/<br />
return true;<br />
}<br />
<br />
function f_isNotNull(obj){<br />
if(obj.value == ""){<br />
f_alert(obj, " 不允许为空值!");<br />
return false;<br />
}<br />
return true;<br />
}<br />
function f_isNumber(obj){<br />
if(isNaN(obj.value)){<br />
f_alert(obj," 应为数值类型");<br />
return false;<br />
}<br />
return true;<br />
}<br />
function f_checkDate(obj) {<br />
if(checkDate(obj.value) ==false){<br />
f_alert(obj," 不是合法日期格式!");<br />
return false;<br />
}<br />
return true;<br />
}<br />
function f_checkLength(obj){<br />
if(getTotalBytes(obj) > Math.abs( obj.getAttribute("maxlength") ) ){<br />
f_alert(obj," 超出长度限制!");<br />
return false;<br />
}<br />
return true;<br />
}<br />
function f_alert(obj,alertStr){<br />
var fielName = obj.getAttribute("fieldName");<br />
if(fielName == null)<br />
fielName = "";<br />
alert(fielName + "n" +alertStr);<br />
obj.select();<br />
obj.focus();<br />
}<br />
function f_checkNumType(obj, numType){<br />
//假设: 已经进行数字类型判断<br />
var strTemp;<br />
var numpric;<br />
var numLen;<br />
var strArr;<br />
var defaultLen = 19;<br />
var defaultpric = 5;<br />
try{<br />
if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 );<br />
if(strTemp == null||strTemp =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
strArr = strTemp.split(",");<br />
numLen = Math.abs( strArr[0] );<br />
numpric = Math.abs( strArr[1] );<br />
return f_checkNumLenPrec(obj,numLen, numpric);<br />
}catch(e){<br />
alert("in f_checkNumType = " + e);<br />
return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br />
}<br />
}</p>