⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yifangcheckform.js

📁 航空订票系统基于asp.net和sql2005包含数据库和图片
💻 JS
📖 第 1 页 / 共 2 页
字号:
						divTip.id			= "divErrorMessage";
						divTip.name			= "divErrorMessage";
						divTip.style.color	= "red";
						document.body.appendChild(divTip);
				}

				divTip.innerHTML = me.message;
			}catch(e){}
		}
	}

	/*
	 *	获得元素是否失效(失效的元素不做判断)
	 */
	function isDisabled(el)
	{
		//对于radio,checkbox元素,只要其中有一个非失效元素就验证
		if(el.type=="radio"||el.type=="checkbox")
		{
			//取得第一个元素的name,搜索这个元素组
			var tmpels = document.getElementsByName(el.name);
			for(var i=0;i<tmpels.length;i++)
			{
				if(tmpels[i].disabled==false)
				{
					return false;
				}
			}
			return true;
		}
		else
		{
			return el.disabled;
		}
	}


	/*
	 *	取得对象的值(对于单选多选框把其选择的个数作为需要验证的值)
	 */
	function getValue(el)
	{
		//取得表单元素的类型
		var sType = el.type;
		switch(sType)
		{
			//文本输入框,直接取值el.value
			case "text":
			case "hidden":
			case "password":
			case "file":
			case "textarea": return el.value;
			//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个,"00"表示选中两个
			case "checkbox":
			case "radio": return getRadioValue(el);
			case "select-one":
			case "select-multiple": return getSelectValue(el);
		}
		//取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
		function getRadioValue(el)
		{
			var sValue = "";
			//取得第一个元素的name,搜索这个元素组
			var tmpels = document.getElementsByName(el.name);
			for(var i=0;i<tmpels.length;i++)
			{
				if(tmpels[i].checked)
				{
					sValue += "0";
				}
			}
			return sValue;
		}
		//取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
		function getSelectValue(el)
		{
			var sValue = "";
			for(var i=0;i<el.options.length;i++)
			{
				//单选下拉框提示选项设置为value=""
				if(el.options[i].selected && el.options[i].value!="")
				{
					sValue += "0";
				}
			}
			return sValue;
		}
	}

	/*
	 *	对没有通过验证的元素设置焦点
	 */
	function setFocus(el)
	{
		//取得表单元素的类型
		var sType = el.type;
		switch(sType)
		{
			//文本输入框,光标定位在文本输入框的末尾
			case "text":
			case "hidden":
			case "password":
			case "file":
			case "textarea": 
				try{el.focus();var rng = el.createTextRange(); rng.collapse(false); rng.select();}catch(e){};
				break;
			
			//单多选,第一选项非失效控件取得焦点
			case "checkbox":
			case "radio": 
				var els = document.getElementsByName(el.name);
				for(var i=0;i<els.length;i++)
				{
					if(els[i].disabled == false)
					{
						els[i].focus();
						break;
					}
				}
				break;
			case "select-one":
			case "select-multiple":
				el.focus();
				break;
		}
	}

	
	//自动绑定到所有form的onsubmit事件
	if(window.attachEvent)
	{
		window.attachEvent("onload",function()
									{
										for(var i=0;i<document.forms.length;i++)
										{
											var theFrom = document.forms[i]; 
												if(theFrom)
												{
													theFrom.attachEvent("onsubmit",function(){return checkForm(theFrom);}); 
													theFrom.attachEvent("onclick",function(){
																								var o = event.srcElement;
																								if(typeof(o.type)!="undefined")
																								{
																									var check = o.getAttribute("check");
																									if(typeof(check)!="undefined"&&check!=null&&check.toLowerCase()=="false")
																									{
																										me.cancel = true;
																									}																									
																								}
																							}
																		); 
												}
										}
									}
							);
		
	}
	else
	{
		window.onsubmit = function(e){var theFrom = e.target;if(theFrom){return checkForm(theFrom);}}
		window.addEventListener("click",function(e)
										{
											var o = e.target;
											if(typeof(o.type)!="undefined")
											{
												var check = o.getAttribute("check");
												if(typeof(check)!="undefined"&&check!=null&&check.toLowerCase()=="false")
												{													
													me.cancel = true;
												}																									
											}
										},false);
		
	}

	this.keyCheck = function()
	{
		if(window.attachEvent)
		{
			window.attachEvent("onload",function(){for(var i=0;i<document.forms.length;i++){var theFrom = document.forms[i]; if(theFrom){myKeyCheck(theFrom);}}});
		}
		else
		{
			//TOOD
		}

		function myKeyCheck(oForm)
		{
			var els = oForm.elements;
			//遍历所有表元素
			for(var i=0;i<els.length;i++)
			{
				//取得格式
				var sUsage	= els[i].getAttribute("Usage");	
				
				//如果设置Usage,则使用内置正则表达式,忽略Exp
				if(typeof(sUsage)!="undefined"&&sUsage!=null)
				{
					switch(sUsage.toLowerCase ())
					{
						case "zipcode":
						case "int":
							els[i].onkeypress	= function(){return /\d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf('+')<0?String.fromCharCode(event.keyCode)=="+":false)||(this.value.indexOf('-')<0?String.fromCharCode(event.keyCode)=="-":false);}
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "mobile":
						case "int+":
							els[i].onkeypress	= function(){return /\d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf('+')<0?String.fromCharCode(event.keyCode)=="+":false);}
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "int-":
							els[i].onkeypress	= function(){return /\d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf('-')<0?String.fromCharCode(event.keyCode)=="-":false);}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "float":
						case "num":
							els[i].onkeypress	= function(){return /[\+\-\.]|\d/.test(String.fromCharCode(event.keyCode));}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "float+":
						case "num+":
							els[i].onkeypress	= function(){return /[\+\.]|\d/.test(String.fromCharCode(event.keyCode));}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "float-":
						case "num-":
							els[i].onkeypress	= function(){return /[\-\.]|\d/.test(String.fromCharCode(event.keyCode));}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;
						case "ascii":
							els[i].style.imeMode= "disabled";
							break;
						case "ip4":
							els[i].onkeypress	= function(){return /[\.]|\d/.test(String.fromCharCode(event.keyCode));}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							els[i].maxLength	= 15;
							break;
						case "color":
							els[i].onkeypress	= function(){return /[a-fA-Z]|\d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf('#')<0?String.fromCharCode(event.keyCode)=="#":false);}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].maxLength	= 7;
							els[i].style.imeMode= "disabled";
							break;
						case "date":
							els[i].onkeypress	= function(){return /[\/\-\.]|\d/.test(String.fromCharCode(event.keyCode));}					
							els[i].onpaste		= function(){return !clipboardData.getData('text').match(/\D/);}
							els[i].ondragenter	= function(){return false;}
							els[i].style.imeMode= "disabled";
							break;							
					}
				}
			}
		}
	}
}

//初始化
var g_check = new CLASS_CHECK();
	g_check.keyCheck();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -