<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 &lt; len; i ++){<br /> objCheck = objFrm.elements[i];<br /> if(objCheck.type ==&quot;text&quot; &amp;&amp; !f_checkTextValid(objCheck) ){<br /> return false;<br /> }<br /> }//下拉框<br /> for(i = 0; i &lt; len; i ++){<br /> objCheck = objFrm.elements[i];<br /> if(objCheck.type ==&quot;select-one&quot; &amp;&amp; !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(&quot;check select&quot;);<br /> if(obj.options.length &lt;= 0){<br /> alert(&quot;下拉选框无数据!&quot;);<br /> return false;<br /> }<br /> return true;<br /> }<br /> <br /> function f_checkStartAndEndDate(frm){<br /> var len = frm.elements.length;<br /> if(len == null &amp;&amp; len == 0) return true;<br /> var i=0;<br /> var temp;<br /> var objCheck;<br /> var objStartDate;<br /> var objEndDate;<br /> //alert(&quot;start date period check&quot;);<br /> try{<br /> for(i=0; i&lt; len ; i++){<br /> objCheck = frm.elements[i];<br /> temp = objCheck.name;<br /> if( temp.indexOf(&quot;startDate&quot;) &gt;0 ||temp.indexOf(&quot;beginDate&quot;)&gt;0 )<br /> objStartDate = objCheck;<br /> if( temp.indexOf(&quot;endDate&quot;) &gt; 0 )<br /> objEndDate = objCheck;<br /> }<br /> <br /> //alert(objStartDate.value);<br /> //alert(objEndDate.value);<br /> if(objStartDate.value==null || objStartDate.value ==&quot;&quot; || objStartDate.value ==null || objStartDate.value ==&quot;&quot;){<br /> return true;<br /> }<br /> <br /> return checkTwoDate(objStartDate.value, objEndDate.value);<br /> //alert(&quot;end date period check&quot;);<br /> }catch(E){}<br /> return true;<br /> }<br /> function f_checkTextValid(obj){<br /> //不能为空<br /> if(obj.getAttribute(&quot;isNeed&quot;) != null){<br /> if(f_isNotNull(obj) == false) return false;<br /> }<br /> <br /> //不能超过长度<br /> if(obj.getAttribute(&quot;maxlength&quot;) != null){<br /> if(f_checkLength(obj) == false) return false;<br /> }<br /> var checkType =&quot;&quot;;<br /> checkType = obj.getAttribute(&quot;checkType&quot;);<br /> if(checkType==null||checkType==&quot;&quot;) return true;//<br /> if (checkType.indexOf(&quot;number&quot;) &gt;=0){<br /> if(f_isNumber(obj) == false) return false;<br /> if(f_checkNumType(obj,checkType) == false) return false;<br /> }//<br /> if (checkType.indexOf(&quot;positive&quot;) &gt;=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(&quot;date&quot;) &gt;=0){<br /> if(f_checkDate(obj) == false) return false;<br /> }<br /> /*<br /> switch(checkType){<br /> case &quot;number&quot;: if(f_isNumber(obj) == false) return false;break;<br /> case &quot;date&quot;: 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 == &quot;&quot;){<br /> f_alert(obj, &quot; 不允许为空值!&quot;);<br /> return false;<br /> }<br /> return true;<br /> }<br /> function f_isNumber(obj){<br /> if(isNaN(obj.value)){<br /> f_alert(obj,&quot; 应为数值类型&quot;);<br /> return false;<br /> }<br /> return true;<br /> }<br /> function f_checkDate(obj) {<br /> if(checkDate(obj.value) ==false){<br /> f_alert(obj,&quot; 不是合法日期格式!&quot;);<br /> return false;<br /> }<br /> return true;<br /> }<br /> function f_checkLength(obj){<br /> if(getTotalBytes(obj) &gt; Math.abs( obj.getAttribute(&quot;maxlength&quot;) ) ){<br /> f_alert(obj,&quot; 超出长度限制!&quot;);<br /> return false;<br /> }<br /> return true;<br /> }<br /> function f_alert(obj,alertStr){<br /> var fielName = obj.getAttribute(&quot;fieldName&quot;);<br /> if(fielName == null)<br /> fielName = &quot;&quot;;<br /> alert(fielName + &quot;n&quot; +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 ==&quot;&quot;) return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br /> if(numType.indexOf(&quot;(&quot;) &lt; 0 || numType.indexOf(&quot;)&quot;) &lt; 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br /> strTemp = numType.substr( numType.indexOf(&quot;(&quot;) + 1 ,numType.indexOf(&quot;)&quot;) - numType.indexOf(&quot;(&quot;) -1 );<br /> if(strTemp == null||strTemp ==&quot;&quot;) return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br /> strArr = strTemp.split(&quot;,&quot;);<br /> numLen = Math.abs( strArr[0] );<br /> numpric = Math.abs( strArr[1] );<br /> return f_checkNumLenPrec(obj,numLen, numpric);<br /> }catch(e){<br /> alert(&quot;in f_checkNumType = &quot; + e);<br /> return f_checkNumLenPrec(obj,defaultLen, defaultpric);<br /> }<br /> }</p>
返回顶部 留言