www.pudn.com > Xiao5u_Exam_v2011627.rar > check.js, change:2011-01-26,size:5309b


   function checkClass()  
   { 
	  if (document.all.sclass.value == null || document.all.sclass.value == "")  
	    { 
          alert("您还没有选择'班级',请选择'班级'!") 
          document.all.sclass.focus(); 
          window.scrollBy(0,-30); 
          return false; 
		} 
		 
	  if (document.all.sname.value == null || document.all.sname.value == "")  
	    { 
          alert("您还没有填写'姓名',请填写'姓名'!") 
          document.all.sname.focus(); 
          return false; 
		} 
		 
	  if (document.all.sno.value == null || document.all.sno.value == "")  
	    { 
          alert("您还没有填写'学号',请填写'学号'!") 
          document.all.sno.focus(); 
          return false; 
		} 
	 
	  if (document.all.sclass.value != null && document.all.sname.value != null && document.all.sno.value != null)  
	    { 
              confirm("确认您已经完成试卷,提交后将无法修改!") 
            }		 
		 
     return true; 
   } 
 
    function checkForm(fm) 
	{ 
		for(var i=0;i<fm.length;i++) 
		{ 
			var title=fm[i].title; 
			if(title=="")continue;//忽略未定义title的元素 
			var p=title.lastIndexOf("~"); 
			if(p<0)continue;//忽略title中未定义检查格式的元素 
			var info=title.substring(0,p); 
			var format=title.substring(p+1,title.length); 
			var name=fm[i].name; 
			if(name=="")continue;//忽略没有名字的元素 
			var value=trim(fm[i].value); 
			//fm[i].value=value;//自动除去提交项的两端的空格 
			 
			if(fm[i].type=="radio") 
			{ 
				if(checkRadio(fm,fm[i])) 
				{ 
					continue; 
				} 
				else 
				{ 
					return false; 
				} 
			} 
			 
			if(fm[i].type=="checkbox") 
			{ 
				if(checkCheckbox(fm,fm[i])) 
				{ 
					continue; 
				} 
				else 
				{ 
				 	return false; 
				} 
			} 
			 
		} 
		return true; 
	} 
	function checkRadio(fm,opt) 
	{ 
		var title=opt.title; 
		if(title=="")return true;//忽略未定义title的元素 
		var p=title.lastIndexOf("~"); 
		if(p<0)return true;//忽略title中未定义检查格式的元素 
		var info=title.substring(0,p); 
		var format=title.substring(p+1,title.length); 
		var name=opt.name; 
		if(name=="")return true;//忽略没有名字的元素 
		if(format=="!") 
		{ 
			//必须选择一个选项 
			if(typeof(fm.all[name].length)=="undefined") 
			{ 
				//同名radio只有一个 
				if(opt.checked) 
				{ 
					return true; 
				} 
				else 
				{ 
					alert(info+"\n必须选择"+name); 
					opt.focus(); 
					return false; 
				} 
			} 
			else 
			{ 
				//是一个radio组 
				var radios=fm[name]; 
				for(var j=0;j<radios.length;j++) 
				{ 
					if(radios[j].checked==true)return true; 
				} 
				alert(info+"\n必须做完此题"); 
				opt.focus(); 
				return false; 
			} 
		} 
		else 
		{ 
			//可以一个选项也不选 
			return true; 
		} 
	} 
	 
	 
	function checkCheckbox(fm,opt) 
	{ 
		var title=opt.title; 
		if(title=="")return true;//忽略未定义title的元素 
		var p=title.lastIndexOf("~"); 
		if(p<0)return true;//忽略title中未定义检查格式的元素 
		var info=title.substring(0,p); 
		var format=title.substring(p+1,title.length); 
		var name=opt.name; 
		if(name=="")return true;//忽略没有名字的元素 
 
		var min=format.match(/min:(\d+)\w*/); 
		var max=format.match(/\w*max:(\d+)/); 
 
		if(typeof(fm.all[name].length)=="undefined") 
		{ 
			//只有一个同名checkbox 
			if(min!=null) 
			{ 
				if(min[1]==1&&!opt.checked) 
				{ 
					alert(info+"\n必须选上"+name+"选项"); 
					opt.focus(); 
					return false; 
				} 
			} 
		} 
		else 
		{ 
			//一个checkbox组 
			var checkboxes=fm.all[name]; 
			var check_count=0; 
			for(var j=0;j<checkboxes.length;j++) 
			{ 
				if(checkboxes[j].checked)check_count++; 
			} 
			if(min!=null) 
			{ 
				if(min[1]>check_count) 
				{ 
					alert(info+"\n至少需要选择"+min[1]+"个选项"); 
					opt.focus(); 
					return false; 
				} 
			} 
			if(max!=null) 
			{ 
				if(max[1]<check_count) 
				{ 
					alert(info+"\n至多可以选择"+max[1]+"个选项"); 
					opt.focus(); 
					return false; 
				} 
			} 
		} 
		return true; 
	} 
/** 
 * 除去字符串变量s两端的空格。 
 */ 
	function trim(s) 
	{ 
		s=s.replace(/^ */,""); 
		s=s.replace(/ *$/,""); 
		return s; 
	} 
/** 
 * 除去字符串表示的数值变量开头的所有的"0"。 
 * 比如 
 * 	trim0("01")将返回"1" 
 * 	trim0("1")将返回"1" 
 * 	trim0("10")将返回"10" 
 * 	trim0("000")将返回"0" 
 */ 
	function trim0(s) 
	{ 
		if(s.length==0)return s; 
		s=s.replace(/^0*/,""); 
		if(s.length==0)s="0"; 
		return s; 
	} 
/** 
 * 取得一个form对象所提交时内部提交参数的QueryString 
 * 形如: 
 * ?accountName=&userName=&email=&area=0&credit_low=&credit_high=&age_low=&age_high=&userLevel=0 
 */ 
	function getQueryString(fm) 
	{ 
		var qStr=""; 
		for(var i=0;i<fm.length;i++) 
		{ 
			if(!fm[i].disabled) 
			{ 
				var n=fm[i].name; 
				if(n==null)continue; 
				if(n.length==0)continue; 
				if(fm[i].type=="select-multiple") 
				{ 
					var _vs=fm[i].options; 
					for(var _j=0;_j<_vs.length;_j++) 
					{ 
						var _opt=_vs(_j); 
						if(_opt.selected) 
						{ 
							var v=_opt.value; 
							qStr=qStr+"&"+n+"="+ec(v); 
						} 
					} 
				} 
				else 
				{ 
					var v=fm[i].value; 
					if(fm[i].type=="radio"||fm[i].type=="checkbox") 
					{ 
						if(!fm[i].checked)continue; 
					} 
					qStr=qStr+"&"+n+"="+ec(v); 
				} 
			} 
		} 
		if(qStr.length>0)qStr="?"+qStr.substr(1); 
		return qStr; 
	} 
	function ec(va) 
	{ 
		return va.replace(/\n/g,"%0D%0A"); 
	}