-------------------------------------------------------------------------------
*/
function checkform(objfrm){
var len = 0;
len = objfrm.elements.length;
var i = 0;
var objcheck;
//文本框
for(i = 0; i objcheck = objfrm.elements[i];
if(objcheck.type ==text && !f_checktextvalid(objcheck) ){
return false;
}
}
//下拉框
for(i = 0; i objcheck = objfrm.elements[i];
if(objcheck.type ==select-one && !f_checkselectvalid(objcheck) ){
return false;
}
}
//时间段有效
if( f_checkstartandenddate(objfrm) == false) return false;
return true;
}
function f_checkselectvalid(obj){
//alert(check select);
if(obj.options.length alert(下拉选框无数据!);
return false;
}
return true;
}
function f_checkstartandenddate(frm){
var len = frm.elements.length;
if(len == null && len == 0) return true;
var i=0;
var temp;
var objcheck;
var objstartdate;
var objenddate;
//alert(start date period check);
try{
for(i=0; iobjcheck = frm.elements[i];
temp = objcheck.name;
if( temp.indexof(startdate) >0 ||temp.indexof(begindate)>0 )
objstartdate = objcheck;
if( temp.indexof(enddate) > 0 )
objenddate = objcheck;
}
//alert(objstartdate.value);
//alert(objenddate.value);
if(objstartdate.value==null || objstartdate.value == || objstartdate.value ==null || objstartdate.value ==){
return true;
}
return checktwodate(objstartdate.value, objenddate.value);
//alert(end date period check);
}catch(e){}
return true;
}
function f_checktextvalid(obj){
//不能为空
if(obj.getattribute(isneed) != null){
if(f_isnotnull(obj) == false) return false;
}
//不能超过长度
if(obj.getattribute(maxlength) != null){
if(f_checklength(obj) == false) return false;
}
var checktype =;
checktype = obj.getattribute(checktype);
if(checktype==null||checktype==) return true;
//
if (checktype.indexof(number) >=0){
if(f_isnumber(obj) == false) return false;
if(f_checknumtype(obj,checktype) == false) return false;
}
//
if (checktype.indexof(positive) >=0){
if(f_isnumber(obj) == false) return false;
if(f_ispositive(obj)==false) return false;
if(f_checknumtype(obj,checktype) == false) return false;
}
if (checktype.indexof(date) >=0){
if(f_checkdate(obj) == false) return false;
}
/*
switch(checktype){
case number: if(f_isnumber(obj) == false) return false;break;
case date: if(f_checkdate(obj) == false) return false;break;
default:
}
*/
return true;
}
function f_isnotnull(obj){
if(obj.value == ){
f_alert(obj, 不允许为空值!);
return false;
}
return true;
}
function f_isnumber(obj){
if(isnan(obj.value)){
f_alert(obj, 应为数值类型);
return false;
}
return true;
}
function f_checkdate(obj) {
if(checkdate(obj.value) ==false){
f_alert(obj, 不是合法日期格式!);
return false;
}
return true;
}
function f_checklength(obj){
if(gettotalbytes(obj) > math.abs( obj.getattribute(maxlength) ) ){
f_alert(obj, 超出长度限制!);
return false;
}
return true;
}
function f_alert(obj,alertstr){
var fielname = obj.getattribute(fieldname);
if(fielname == null)
fielname = ;
alert(fielname + \n +alertstr);
obj.select();
obj.focus();
}
function f_checknumtype(obj, numtype){
//假设: 已经进行数字类型判断
var strtemp;
var numpric;
var numlen;
var strarr;
var defaultlen = 19;
var defaultpric = 5;
try{
if(numtype == null|| numtype ==) return f_checknumlenprec(obj,defaultlen, defaultpric);
if(numtype.indexof(() strtemp = numtype.substr( numtype.indexof(() + 1 ,numtype.indexof()) - numtype.indexof(() -1 );
if(strtemp == null||strtemp ==) return f_checknumlenprec(obj,defaultlen, defaultpric);
strarr = strtemp.split(,);
numlen = math.abs( strarr[0] );
numpric = math.abs( strarr[1] );
return f_checknumlenprec(obj,numlen, numpric);
}catch(e){
alert(in f_checknumtype = + e);
return f_checknumlenprec(obj,defaultlen, defaultpric);
}
}
function f_checknumlenprec(obj, len, pric){
var numreg;
var value = obj.value;
var strvaluetemp, strint, strdec;
//alert(value + ===== + len + =====+ pric);
try{
numreg =/[\-]/;
strvaluetemp = value.replace(numreg, );
strvaluetemp = strvaluetemp.replace(numreg, );
//整数
if(pric==0){
numreg =/[\.]/;
//alert(numreg.test(value));
if(numreg.test(value) == true){
f_alert(obj, 输入必须为整数类型!);
return false;
}
}
if(strvaluetemp.indexof(.) //alert(lennth== + strvaluetemp);
if(strvaluetemp.length >( len - pric)){
f_alert(obj, 整数位不能超过+ (len - pric) +位);
return false;
}
}else{
strint = strvaluetemp.substr( 0, strvaluetemp.indexof(.) );
//alert(lennth== + strint);
if(strint.length >( len - pric)){
f_alert(obj, 整数位不能超过+ (len - pric) +位);
return false;
}
strdec = strvaluetemp.substr( (strvaluetemp.indexof(.)+1), strvaluetemp.length );
//alert(pric== + strdec);
if(strdec.length > pric){
f_alert(obj, 小数位不能超过+ pric +位);
return false;
}
}
return true;
}catch(e){
alert(in f_checknumlenprec = + e);
return false;
}
}
function f_ispositive(obj){
var numreg =/[\-]/;
if(numreg.test(obj.value) == true){
f_alert(obj, 必须为正数!);
return false;
}
return true;
}
/*
function selectedcheckboxcount(form)
功能说明:对form中选中的可选项计数
参数说明:
form:指定的表单
*/
function selectedcheckboxcount(form){
var length =0;
var i=0;
var count =0;
eles = form.elements;
while(iobj= eles.item(i);
//type = obj.attributes.item(type).nodevalue;
type = obj.type;
if(type == checkbox){
if(obj.checked){
count++;
}
}
i++;
}
return count;
}
//得到字节长度
function getbytelen(str)
{
var l = str.length;
var n = l;
for ( var i=0; iif ( str.charcodeat(i) 255 )
n=n+1;
return n
}
/*
说明:
1.清除表格中的数据(0.0 和 0)
2.如果cell中没有数据,则自动加上一个空格
3.清除空白行的checkbox
参数:
clearzero:是否清除0、0.0,false不清除、true清除(默认为true)
tablename:要清除的表格名字,默认为sorttable
*/
function clear_table(clearzero,tablename)
{
var tobject;
if(tablename==null)
tobject=gmobj(sorttable);
else
tobject=gmobj(tablename);
//如果table未定义,则不进行过滤
if(tobject==null)
return;
//如果函数调用参数为空,表示要清除0、0.0;反之,不要清除0、0.0。
var clear = (clearzero==null)?true:clearzero;
//清除0、0.0,填补空格
var rows = tobject.rows;
var j=0;
for(var i=0;i{
//取得第一个cell的属性clear,如果为1,表示该行没有数据,则清除该行所有数据
while(tobject.rows[i].cells[j] != null)
{
if(clear)
{
if(tobject.rows[i].cells[j].innerhtml==0 ||tobject.rows[i].cells[j].innerhtml==0.0||tobject.rows[i].cells[j].innerhtml==)
tobject.rows[i].cells[j].innertext= ;
}
else
{
if (tobject.rows[i].cells[j].innerhtml==)
tobject.rows[i].cells[j].innertext= ;
}
j++;
}
j=0;
}
return true;
}
function gmobj(mtxt) /* get object by object name */
{
if (document.getelementbyid) {
m=document.getelementbyid(mtxt);
} else if (document.all) {
m=document.all[mtxt];
} else if (document.layers) {
m=document.layers[mtxt];
}
return m;
}
/*
-------------------------------------------------------------------------------
说明:javascript脚本,验证表单中的数据项 end
-------------------------------------------------------------------------------
*/
/*
用途:检查输入字符串是否是带小数的数字格式,可以是负数(并且满足规定的精度)
输入:str:字符串
l:总位数
d:小数点后位数
返回:
如果通过验证返回true,否则返回false
*/
function isdecimal( str,l,d ){
if(isinteger(str)) {
if (l==null) return true;
if (strif (str.length}
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
if (re.test(str)) {
if (l==null) return true;
if (d==null) d=0;
if(regexp.$1==0&®exp.$2==0) return false;
if (regexp.$1.length+regexp.$2.length&& regexp.$2.length}
return false;
}
onclick=isnull('co.pageform.competitorname');
co--指本页面 pageform--指formname competitorname---指的是文本栏名
