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

📄 form.js

📁 zapatec suite 最新版 20070204,非常棒的ajax widgets 工具包
💻 JS
📖 第 1 页 / 共 5 页
字号:
return opts;};Zapatec.Form.Field.prototype.autoCompleteValue=function(opts){if(typeof(opts)=='undefined'||opts.body==null||opts.body.length==0||(opts.body.length==1&&opts.body[0][0]=="")){if(this.dropDown){this.dropDown.config.source={tips:[]};this.dropDown.loadData();this.dropDown.hide();}return;}var currValue=this.getValue();var retrValue=null;var firstValue=opts.body[0][0];if(firstValue.substring(0,currValue.length).toLowerCase()==currValue.toLowerCase()){retrValue=firstValue.substring(currValue.length);this.setValue(currValue+retrValue);this.setCaretPosition(currValue.length,this.getValue().length);}this.validate();if(this.dropDown){if(opts.body.length==1){this.dropDown.config.source={tips:[]};this.dropDown.loadData();this.dropDown.hide();}else{this.dropDown.config.sourceType="json";var tips=[];for(var ii=0;ii<opts.body.length;ii++){var option=opts.body[ii];var tmp={};tmp.title=option.join(" ");tips.push(tmp);}this.dropDown.config.source={tips:tips};this.dropDown.loadData();this.dropDown.show();}}};Zapatec.Form.Field.prototype.isSelectionAppliable=function(){var nodeName=this.field.nodeName.toLowerCase();var inputType=nodeName=='input'?this.field.type.toLowerCase():null;return(nodeName=="body"||nodeName=="button"||nodeName==="textarea"||nodeName=="input"&&(inputType=="button"||inputType=="hidden"||inputType=="password"||inputType=="reset"||inputType=="submit"||inputType=="text"))};Zapatec.Form.Field.prototype.destroy=function(){this.discard();};Zapatec.Form.dataTypes={};Zapatec.Form.Validator=[];Zapatec.Form.Validator.addDataType=function(zpName,name,regex,error,help,func){Zapatec.Form.dataTypes[zpName]={zpName:zpName,name:name,regex:regex,error:error,help:help,func:func};};Zapatec.Form.addDataType=Zapatec.Form.Validator.addDataType;Zapatec.Form.Validator.isDomainValid=function(domain){if(typeof(domain)!='string'){return false;}for(i=0;i<domain.length;i++){if(domain.charCodeAt(i)>127){return false;}}var ipDigit="(0?0?\\d|[01]?\\d\\d|2[0-4]\\d|25[0-6])";var ipRE=new RegExp("^"+ipDigit+"\\."+ipDigit+"\\."+ipDigit+"\\."+ipDigit+"$");if(ipRE.test(domain)){return true;}var domains=domain.split(".");if(domains.length<2){return false;}for(i=0;i<domains.length-1;i++){if(!(/^[a-zA-Z0-9\-]+$/).test(domains[i])){return false;}}if(domains[domains.length-2].length<2){return false;}if(!(/^[a-zA-Z]{2,}$/).test(domains[domains.length-1])){return false;}return true;};Zapatec.Form.Validator.isUrlValid=function(url){if(typeof(url)!='string'){return false;}var domain=url;var protocolSeparatorPos=url.indexOf("://");var domainSeparatorPos=url.indexOf("/",protocolSeparatorPos+3);if(protocolSeparatorPos==0){return false;}domain=url.substring((protocolSeparatorPos>0?protocolSeparatorPos+3:0),(domainSeparatorPos>0?domainSeparatorPos:url.length));var portSeparatorPos=domain.indexOf(":");if(portSeparatorPos>0){var port=domain.substring(portSeparatorPos+1);if(!port.match(/\d+/)){return false;}domain=domain.substring(0,portSeparatorPos);}return Zapatec.Form.Validator.isDomainValid(domain);};Zapatec.Form.Validator.isEmailValid=function(email){if(email==null){return false;}var atPos=email.indexOf("@");if(atPos<1||email.indexOf(".",atPos)==-1){return false;}var login=email.substring(0,atPos);var domain=email.substring(atPos+1,email.length);var atom="\[^\\s\\(\\)><@,;:\\\\\\\"\\.\\[\\]\]+";var word="("+atom+"|(\"[^\"]*\"))";var loginRE=new RegExp("^"+word+"(\\."+word+")*$");for(i=0;i<login.length;i++){if(login.charCodeAt(i)>127){return false;}}if(!login.match(loginRE)){return false;}return Zapatec.Form.Validator.isDomainValid(domain);};Zapatec.Form.Validator.isCreditCardValid=function(cardNumber){if(cardNumber==null){return false;}var cardDigits=cardNumber.replace(/\D/g,"");var parity=cardDigits.length%2;var sum=0;for(var ii=0;ii<cardDigits.length;ii++){var digit=cardDigits.charAt(ii);if(ii%2==parity)digit=digit*2;if(digit>9)digit=digit-9;sum+=parseInt(digit);}return((sum!=0)&&(sum%10==0));};Zapatec.Form.Validator.isDateValid=function(str,fmt){if(fmt==null||fmt==""){fmt="%m/%d/%y";}var separator=" ";var nums=fmt.split(separator);if(nums.length<3){separator="/";nums=fmt.split(separator);if(nums.length<3){separator=".";nums=fmt.split(separator);if(nums.length<3){separator="-";nums=fmt.split(separator);if(nums.length<3){separator=null;}}}}if(separator==null){return false;}var y=null;var m=null;var d=null;var a=str.split(separator);if(a.length!=3){return false;}var b=fmt.match(/%./g);var nlDays=[31,28,31,30,31,30,31,31,30,31,30,31];var lDays=[31,29,31,30,31,30,31,31,30,31,30,31];for(var i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);if(d<=0||d>31)d=-1;break;case"%m":m=parseInt(a[i],10)-1;if(m>11||m<0)m=-1;break;case"%Y":case"%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;}}if(y==null||m==null||d==null||isNaN(y)||isNaN(m)||isNaN(d)){return false;}if(m!=-1){if((y%4)==0){if((y%100)==0&&(y%400)!=0){if(d>nlDays[m]){d=-1;}}if(d>lDays[m]){d=-1;}}else{if(d>nlDays[m]){d=-1;}}}if(y!=0&&m!=-1&&d!=-1){return true;}return false;};Zapatec.Form.Validator.hasMinLength=function(str,length){return(str+"").length>=parseInt(length);}Zapatec.Form.Validator.hasMaxLength=function(str,length){return(str+"").length<=parseInt(length);}Zapatec.Form.Validator.addDataType('zpFormUrl','A URL -- web address',null,'invalidURLError',"Valid URL needs to be in the form http://www.yahoo.com:80/index.html or just www.yahoo.com",Zapatec.Form.Validator.isUrlValid);Zapatec.Form.Validator.addDataType('zpFormEmail','An Email Address',null,'invalidEmailError',"Valid email address need to be in the form of nobody@example.com",Zapatec.Form.Validator.isEmailValid);Zapatec.Form.Validator.addDataType('zpFormCreditCard','Credit card number',null,'invalidCreditCardError',"Please enter valid credit card number",Zapatec.Form.Validator.isCreditCardValid);Zapatec.Form.Validator.addDataType('zpFormUSPhone','A USA Phone Number',/^((\([1-9][0-9]{2}\) *)|([1-9][0-9]{2}[\-. ]?))(\d[ -]?){6}\d *(ex[t]? *[0-9]+)?$/,'invalidUSPhoneError',"Valid US Phone number needs to be in the form of 'xxx xxx-xxxx' For instance 312 123-1234. An extention can be added as ext xxxx. For instance 312 123-1234 ext 1234",null);Zapatec.Form.Validator.addDataType('zpFormInternationalPhone','An international Phone Number',/^\+\d{1,3}[ -]\d{2,3}[ -](\d[ -]?){6}\d *(ex[t]? *[0-9]+)?$/,'invalidInternationalPhoneError',"Valid internation phone number needs to be in the form of '+x xxx xxx-xxxx' For instance +1 234 567-9012. An extention can be added as ext xxxx. For instance +1 234 567-9012 ext 1234",null);Zapatec.Form.Validator.addDataType('zpFormUSZip','A USA Zip Number',/(^\d{5}$)|(^\d{5}-\d{4}$)/,'invalidUSZipError',"Valid US Zip number needs to be either in the form of '99999', for instance 94132 or '99999-9999' for instance 94132-3213",null);Zapatec.Form.Validator.addDataType('zpFormDate','A Valid Date',null,'invalidDateError',"Please enter a valid date",Zapatec.Form.Validator.isDateValid);Zapatec.Form.Validator.addDataType('zpFormInt','An Integer',null,'invalidIntError',"Please enter an integer",function(number){return/^\d+$/.test(number);});Zapatec.Form.Validator.addDataType('zpFormFloat','A Floating Point Number',null,'invalidFloatError',"Please enter a Floating Point Number",function(number){var parsed=parseFloat(number);return(parsed==number);});Zapatec.Form.Validator.addDataType('zpFormMinLength','Min length',null,'minLengthError',"Value is too short",Zapatec.Form.Validator.hasMinLength);Zapatec.Form.Validator.addDataType('zpFormMaxLength','Max length',null,'maxLengthError',"Value is too long",Zapatec.Form.Validator.hasMaxLength);Zapatec.Form.Utils=[];Zapatec.Form.Utils.getTokens=function(className,separator){if(typeof(separator)!='string'||separator.length==0){separator=" ";}var arr={};if(className!=null&&className.length>0){var isInQuotes=false;var quoteChar=null;var key="";var value="";var isInValue=false;for(var ii=0;ii<className.length;ii++){var currChar=className.charAt(ii);if(currChar=="\\"){ii++;currChar=className.charAt(ii);}else if(!isInValue&&currChar=="="){isInValue=true;var nextChar=className.charAt(ii+1);if(nextChar=="'"||nextChar=='"'){quoteChar=nextChar;ii++;}continue;}else if(currChar==" "){if(key.length==0){continue;}if(quoteChar!=null){if(quoteChar==value.charAt(value.length-1)){quoteChar=null;value=value.substr(0,value.length-1);}else{value=quoteChar+value;}}arr[key]=value.length==0?null:value;isInValue=false;key="";value="";quoteChar=null;continue;}if(ii<className.length){if(isInValue){value+=currChar;}else{key+=currChar;}}}if(key.length>0){if(quoteChar!=null){if(quoteChar==value.charAt(value.length-1)){quoteChar=null;value=value.substr(0,value.length-1);}else{value=quoteChar+value;}}arr[key]=(value.length==0?null:value);}}return arr;};Zapatec.Form.Utils.toggleFormElements=function(field,show,useVisibility){field=Zapatec.Widget.getElementById(field);if(field==null){return null;}var inputs=Zapatec.Form.Utils.getFormElements(field);for(var ii=0;ii<inputs.length;ii++){var input=inputs[ii];if(show){if(typeof(input.zpOrigDisabled)!='undefined'){input.disabled=input.zpOrigDisabled;var undef;input.zpOrigDisabled=undef;}}else{if(typeof(input.zpOrigDisabled)=='undefined'){input.zpOrigDisabled=input.getAttribute("disabled");input.disabled=true;}}if(show&&input.zpFormField!=null){input.zpFormField.validate();}}if(useVisibility){field.style.visibility=(show?'visible':'hidden');}else{field.style.display=(show?'':'none');}};Zapatec.Form.Utils.getFormElements=function(el){el=Zapatec.Widget.getElementById(el);if(el==null){return null;}var inputs=[];var children=el.all?el.all:el.getElementsByTagName("*");for(var ii=0;ii<children.length;ii++){if(Zapatec.Form.Utils.isInputField(children[ii])){inputs.push(children[ii]);}}return inputs;};Zapatec.Form.Utils.getValue=function(element){element=Zapatec.Widget.getElementById(element);if(element==null||typeof(element.tagName)=='undefined'){return null;}switch(element.tagName.toLowerCase()){case"select":if(element.selectedIndex<0){return"";}var option=element.options[element.selectedIndex];if(option!=null){return option.value;}else{return"";}case"input":return element.value;case"textarea":return element.value;}return null;};Zapatec.Form.Utils.setValue=function(element,value){element=Zapatec.Widget.getElementById(element);if(element==null||typeof(element.tagName)=='undefined'){return null;}switch(element.tagName.toLowerCase()){case"input":if(element.type.toLowerCase()!="file"){element.value=value;}break;case"textarea":element.value=value;break;case"select":for(var i=0;i<element.options.length;i++){if(element.options[i].value==value){element.selectedIndex=i;break;}}}return value;};Zapatec.Form.Utils.isInputField=function(el){if(el.nodeType!=1){return false;}var nodeName=el.nodeName.toLowerCase();return(nodeName=='input'||nodeName=='textarea'||nodeName=='select');};Zapatec.Form.Utils.ignoreField=function(field){field=Zapatec.Widget.getElementById(field);if(!field||field.nodeType!=1||(field.className&&/\bzpIgnoreField\b/.test(field.className))||!Zapatec.Form.Utils.isInputField(field)||(field.nodeType==1&&field.nodeName.toLowerCase()=='fieldset')){return true;}var type=field.type.toLowerCase();var ignoreList=['submit','reset','button'];for(var ii=0;ii<ignoreList.length;ii++){if(type.toLowerCase()==ignoreList[ii]){return true;}}return false;};Zapatec.Form.Utils.isSpecialKey=function(charCode,newChar){return((newChar==null&&charCode!=8&&charCode!=46)||charCode==9||charCode==13||charCode==16||charCode==17||

⌨️ 快捷键说明

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