亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? validate.js

?? 圖書管理系統包括圖書的增加、刪除、修改等功能
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.validate");dojo.provide("dojo.widget.validate.Textbox");dojo.provide("dojo.widget.validate.ValidationTextbox");dojo.provide("dojo.widget.validate.IntegerTextbox");dojo.provide("dojo.widget.validate.RealNumberTextbox");dojo.provide("dojo.widget.validate.CurrencyTextbox");dojo.provide("dojo.widget.validate.IpAddressTextbox");dojo.provide("dojo.widget.validate.UrlTextbox");dojo.provide("dojo.widget.validate.EmailTextbox");dojo.provide("dojo.widget.validate.EmailListTextbox");dojo.provide("dojo.widget.validate.DateTextbox");dojo.provide("dojo.widget.validate.TimeTextbox");dojo.provide("dojo.widget.validate.UsStateTextbox");dojo.provide("dojo.widget.validate.UsZipTextbox");dojo.provide("dojo.widget.validate.UsPhoneNumberTextbox");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.widget.Manager");dojo.require("dojo.widget.Parse");dojo.require("dojo.xml.Parse");dojo.require("dojo.lang");dojo.require("dojo.validate.common");dojo.require("dojo.validate.datetime");dojo.require("dojo.validate.check");dojo.require("dojo.validate.web");dojo.require("dojo.validate.us");dojo.widget.manager.registerWidgetPackage("dojo.widget.validate");/*  ****** Textbox ******  This widget is a generic textbox field.  Serves as a base class to derive more specialized functionality in subclasses.  Has the following properties that can be specified as attributes in the markup.  @attr id         The textbox id attribute.  @attr className  The textbox class attribute.  @attr name       The textbox name attribute.  @attr value      The textbox value attribute.  @attr trim       Removes leading and trailing whitespace if true.  Default is false.  @attr uppercase  Converts all characters to uppercase if true.  Default is false.  @attr lowercase  Converts all characters to lowercase if true.  Default is false.  @attr ucFirst    Converts the first character of each word to uppercase if true.  @attr lowercase  Removes all characters that are not digits if true.  Default is false.*/dojo.widget.validate.Textbox = function() {  }dojo.inherits(dojo.widget.validate.Textbox, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.validate.Textbox, {	// default values for new subclass properties	widgetId: "", 	widgetType: "Textbox", 	id: "",	className: "",	name: "",	value: "",	trim: false,	uppercase: false,	lowercase: false,	ucFirst: false,	digit: false,	htmlfloat: "none",		templateString: "<span style='float:${this.htmlfloat};'><input dojoAttachPoint='textbox' dojoAttachEvent='onblur;onfocus'"					+ " id='${this.widgetId}' name='${this.name}' "					+ " value='${this.value}' class='${this.className}'></input></span>",	// our DOM nodes	textbox: null,	// Apply various filters to textbox value	filter: function() { 		if (this.trim) {			this.textbox.value = this.textbox.value.replace(/(^\s*|\s*$)/g, "");		} 		if (this.uppercase) {			this.textbox.value = this.textbox.value.toUpperCase();		} 		if (this.lowercase) {			this.textbox.value = this.textbox.value.toLowerCase();		} 		if (this.ucFirst) {			this.textbox.value = this.textbox.value.replace(/\b\w+\b/g, 				function(word) { return word.substring(0,1).toUpperCase() + word.substring(1).toLowerCase(); });		} 		if (this.digit) {			this.textbox.value = this.textbox.value.replace(/\D/g, "");		} 	},	// event handlers, you can over-ride these in your own subclasses	onfocus: function() {},	onblur: function() { this.filter(); },	// All functions below are called by create from dojo.widget.Widget	mixInProperties: function(localProperties, frag) {		dojo.widget.validate.Textbox.superclass.mixInProperties.apply(this, arguments);		if ( localProperties["class"] ) { 			this.className = localProperties["class"];		}	},	fillInTemplate: function() {		// apply any filters to initial value		this.filter();	}});dojo.widget.tags.addParseTreeHandler("dojo:Textbox");/*  ****** ValidationTextbox ******  A subclass of Textbox.  Over-ride isValid in subclasses to perform specific kinds of validation.  Has several new properties that can be specified as attributes in the markup.	@attr type          		Basic input tag type declaration.	@attr size          		Basic input tag size declaration.	@attr type          		Basic input tag maxlength declaration.	  @attr required          Can be true or false, default is false.  @attr validColor        The color textbox is highlighted for valid input. Default is #cfc.  @attr invalidColor      The color textbox is highlighted for invalid input. Default is #fcc.  @attr invalidClass			Class used to format displayed text in page if necessary to override default class  @attr invalidMessage    The message to display if value is invalid.  @attr missingMessage    The message to display if value is missing.  @attr missingClass		  Override default class used for missing input data  @attr listenOnKeyPress  Updates messages on each key press.  Default is true.  @attr promptMessage			Will not issue invalid message if field is populated with default user-prompt text*/dojo.widget.validate.ValidationTextbox = function() {}dojo.inherits(dojo.widget.validate.ValidationTextbox, dojo.widget.validate.Textbox);dojo.lang.extend(dojo.widget.validate.ValidationTextbox, {	// default values for new subclass properties	widgetType: "ValidationTextbox", 	type: "",	required: false,	validColor: "#cfc",	invalidColor: "#fcc",	rangeClass: "range",	invalidClass: "invalid",	missingClass: "missing",	size: "",	maxlength: "",	promptMessage: "",	invalidMessage: "* The value entered is not valid.",	missingMessage: "* This value is required.",	rangeMessage: "* This value out of range.",	listenOnKeyPress: true,	htmlfloat: "none",	lastCheckedValue: null,	templateString:   "<span style='float:${this.htmlfloat};'>"					+   "<input dojoAttachPoint='textbox' type='${this.type}' dojoAttachEvent='onblur;onfocus;onkeyup'"					+     " id='${this.widgetId}' name='${this.name}' size='${this.size}' maxlength='${this.maxlength}'"					+     " value='${this.value}' class='${this.className}' style=''></input>"					+   "<span dojoAttachPoint='invalidSpan' class='${this.invalidClass}'>${this.invalidMessage}</span>"					+   "<span dojoAttachPoint='missingSpan' class='${this.missingClass}'>${this.missingMessage}</span>"					+   "<span dojoAttachPoint='rangeSpan' class='${this.rangeClass}'>${this.rangeMessage}</span>"					+ "</span>",	// new DOM nodes	invalidSpan: null,	missingSpan: null,	rangeSpan: null,	getValue: function() {		return this.textbox.value;	},	setValue: function(value) {		this.textbox.value = value;		this.update();	},	// Need to over-ride with your own validation code in subclasses	isValid: function() { return true; },	// Need to over-ride with your own validation code in subclasses	isInRange: function() { return true; },	// Returns true if value is all whitespace	isEmpty: function() { 		return ( /^\s*$/.test(this.textbox.value) );	},	// Returns true if value is required and it is all whitespace.	isMissing: function() { 		return ( this.required && this.isEmpty() );	},	// Called oninit, onblur, and onkeypress.	// Show missing or invalid messages if appropriate, and highlight textbox field.	update: function() {		this.lastCheckedValue = this.textbox.value;		this.missingSpan.style.display = "none";		this.invalidSpan.style.display = "none";		this.rangeSpan.style.display = "none";		var empty = this.isEmpty();		var valid = true;		if(this.promptMessage != this.textbox.value){ 			valid = this.isValid(); 		}		var missing = this.isMissing();		// Display at most one error message		if(missing){			this.missingSpan.style.display = "";		}else if( !empty && !valid ){			this.invalidSpan.style.display = "";		}else if( !empty && !this.isInRange() ){			this.rangeSpan.style.display = "";		}		this.highlight();	},	// Called oninit, and onblur.	highlight: function() {		// highlight textbox background 		if ( this.isEmpty() ) {			this.textbox.style.backgroundColor = "";		}else if ( this.isValid() && this.isInRange() ){			this.textbox.style.backgroundColor = this.validColor;		}else if( this.textbox.value != this.promptMessage){ 			this.textbox.style.backgroundColor = this.invalidColor;		}	},	onfocus: function() {		if ( !this.listenOnKeyPress) {		    this.textbox.style.backgroundColor = "";		}	},	onblur: function() { 		this.filter();		this.update(); 	},	onkeyup: function(){ 		if(this.listenOnKeyPress){ 			//this.filter();  trim is problem if you have to type two words			this.update(); 		}else if (this.textbox.value != this.lastCheckedValue){		    this.textbox.style.backgroundColor = "";		}	},	// FIXME: why are there to fillInTemplate methods defined here?	fillInTemplate: function() {		// Attach isMissing and isValid methods to the textbox.		// We may use them later in connection with a submit button widget.		// TODO: this is unorthodox; it seems better to do it another way -- Bill		this.textbox.isValid = function() { this.isValid.call(this); };		this.textbox.isMissing = function() { this.isMissing.call(this); };		this.textbox.isInRange = function() { this.isInRange.call(this); };		this.filter();		this.update(); 	}});dojo.widget.tags.addParseTreeHandler("dojo:ValidationTextbox");/*  ****** IntegerTextbox ******  A subclass of ValidationTextbox.  Over-rides isValid/isInRange to test for integer input.  Has 4 new properties that can be specified as attributes in the markup.  @attr signed     The leading plus-or-minus sign. Can be true or false, default is either.  @attr separator  The character used as the thousands separator.  Default is no separator.  @attr min  Minimum signed value.  Default is -Infinity  @attr max  Maximum signed value.  Default is +Infinity*/dojo.widget.validate.IntegerTextbox = function(node) {	// this property isn't a primitive and needs to be created on a per-item basis.	this.flags = {};}dojo.inherits(dojo.widget.validate.IntegerTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.IntegerTextbox, {	// new subclass properties	widgetType: "IntegerTextbox", 	mixInProperties: function(localProperties, frag) {		// First initialize properties in super-class.		dojo.widget.validate.IntegerTextbox.superclass.mixInProperties.apply(this, arguments);		// Get properties from markup attibutes, and assign to flags object.		if((localProperties.signed == "true")||			(localProperties.signed == "always")){			this.flags.signed = true;		}else if((localProperties.signed == "false")||				(localProperties.signed == "never")){			this.flags.signed = false;			this.flags.min = 0;		}else{			this.flags.signed = [ true, false ]; // optional		}		if(localProperties.separator){ 			this.flags.separator = localProperties.separator;		}		if(localProperties.min){ 			this.flags.min = parseInt(localProperties.min);		}		if(localProperties.max){ 			this.flags.max = parseInt(localProperties.max);		}	},	// Over-ride for integer validation	isValid: function() { 		return dojo.validate.isInteger(this.textbox.value, this.flags);	},	isInRange: function() { 		return dojo.validate.isInRange(this.textbox.value, this.flags);	}});dojo.widget.tags.addParseTreeHandler("dojo:IntegerTextbox");/*  ****** RealNumberTextbox ******  A subclass that extends IntegerTextbox.  Over-rides isValid/isInRange to test for real number input.  Has 5 new properties that can be specified as attributes in the markup.  @attr places    The exact number of decimal places.  If omitted, it's unlimited and optional.  @attr exponent  Can be true or false.  If omitted the exponential part is optional.  @attr eSigned   Is the exponent signed?  Can be true or false, if omitted the sign is optional.  @attr min  Minimum signed value.  Default is -Infinity  @attr max  Maximum signed value.  Default is +Infinity*/dojo.widget.validate.RealNumberTextbox = function(node) {	this.flags = {};}dojo.inherits(dojo.widget.validate.RealNumberTextbox, dojo.widget.validate.IntegerTextbox);dojo.lang.extend(dojo.widget.validate.RealNumberTextbox, {	// new subclass properties	widgetType: "RealNumberTextbox", 	mixInProperties: function(localProperties, frag) {		// First initialize properties in super-class.		dojo.widget.validate.RealNumberTextbox.superclass.mixInProperties.apply(this, arguments);		// Get properties from markup attibutes, and assign to flags object.		if ( localProperties.places ) { 			this.flags.places = Number( localProperties.places );		}		if((localProperties.exponent == "true")||			(localProperties.exponent == "always")){			this.flags.exponent = true;		}else if((localProperties.exponent == "false")||(localProperties.exponent == "never")){			this.flags.exponent = false;		}else{			this.flags.exponent = [ true, false ]; // optional		}		if((localProperties.esigned == "true")||(localProperties.esigned == "always")){			this.flags.eSigned = true;		}else if((localProperties.esigned == "false")||(localProperties.esigned == "never")){			this.flags.eSigned = false;		}else{			this.flags.eSigned = [ true, false ]; // optional		}		if(localProperties.min){ 			this.flags.min = parseFloat(localProperties.min);		}		if(localProperties.max){ 			this.flags.max = parseFloat(localProperties.max);		}	},	// Over-ride for real number validation	isValid: function() { 		return dojo.validate.isRealNumber(this.textbox.value, this.flags);	},	isInRange: function() { 		return dojo.validate.isInRange(this.textbox.value, this.flags);	}});dojo.widget.tags.addParseTreeHandler("dojo:RealNumberTextbox");/*  ****** CurrencyTextbox ******  A subclass that extends IntegerTextbox.  Over-rides isValid/isInRange to test if input denotes a monetary value .  Has 5 new properties that can be specified as attributes in the markup.  @attr cents      The two decimal places for cents.  Can be true or false, optional if omitted.  @attr symbol     A currency symbol such as Yen "???", Pound "???", or the Euro "???". Default is "$".  @attr separator  Default is "," instead of no separator as in IntegerTextbox.  @attr min  Minimum signed value.  Default is -Infinity  @attr max  Maximum signed value.  Default is +Infinity*/dojo.widget.validate.CurrencyTextbox = function(node) {	this.flags = {};}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一电影网| av一区二区三区四区| 国产成人免费av在线| 欧美亚一区二区| 国产亚洲婷婷免费| 日韩经典一区二区| 91原创在线视频| 国产午夜精品一区二区| 秋霞影院一区二区| 欧美亚一区二区| 中文字幕一区二区三区不卡 | 亚洲人精品一区| 久草中文综合在线| 欧美老肥妇做.爰bbww| 亚洲欧洲综合另类在线| 国产成人精品免费在线| 日韩一区二区三区在线视频| 亚洲综合丁香婷婷六月香| 91一区二区在线| 国产精品无人区| 成人毛片视频在线观看| 26uuu另类欧美亚洲曰本| 日本午夜精品视频在线观看 | av爱爱亚洲一区| 久久久蜜臀国产一区二区| 久久丁香综合五月国产三级网站| 欧美精品久久99| 亚洲一区二区欧美| 在线看国产一区| 亚洲另类在线一区| 91丝袜美腿高跟国产极品老师| 国产精品女同一区二区三区| 高清beeg欧美| 国产精品美女久久久久久久| av一区二区久久| 亚洲人成网站影音先锋播放| 色系网站成人免费| 亚洲综合999| 4438x亚洲最大成人网| 肉丝袜脚交视频一区二区| 91精品欧美久久久久久动漫| 日韩电影免费在线观看网站| 日韩欧美国产综合一区| 久久国产精品无码网站| 久久亚洲影视婷婷| 国产91在线观看丝袜| 国产精品国产馆在线真实露脸 | 91精品国产一区二区三区| 免费人成网站在线观看欧美高清| 欧美人伦禁忌dvd放荡欲情| 日本欧美在线看| 精品成人免费观看| 不卡的av中国片| 亚洲午夜久久久久久久久久久| 欧美女孩性生活视频| 免费成人在线观看视频| 亚洲精品在线三区| 国产99久久久国产精品潘金| 亚洲欧美激情视频在线观看一区二区三区| 欧洲一区二区三区在线| 美女脱光内衣内裤视频久久网站 | 毛片av一区二区三区| 国产亚洲欧洲997久久综合| 91天堂素人约啪| 日本v片在线高清不卡在线观看| 精品国产免费人成在线观看| caoporm超碰国产精品| 亚洲国产sm捆绑调教视频| 久久久一区二区三区捆绑**| 日本丰满少妇一区二区三区| 美女在线观看视频一区二区| 亚洲视频精选在线| 欧美一区二区三区电影| 成人精品视频一区| 日韩高清在线一区| 中文字幕成人av| 67194成人在线观看| 风间由美一区二区av101| 日本中文一区二区三区| 亚洲少妇中出一区| 精品国产露脸精彩对白| 欧美在线一区二区三区| 国产精品香蕉一区二区三区| 午夜精品福利一区二区蜜股av| 国产三级一区二区三区| 欧美日韩一本到| 不卡视频免费播放| 国产酒店精品激情| 日韩精品一级中文字幕精品视频免费观看 | 欧美日韩色综合| 成人一二三区视频| 久99久精品视频免费观看| 亚洲视频一区二区在线观看| 日韩欧美精品在线| 欧美日韩aaaaaa| 色94色欧美sute亚洲线路一ni| 国产剧情一区在线| 精品亚洲免费视频| 日韩国产精品大片| 午夜视频在线观看一区二区三区| 国产精品福利影院| 国产日韩精品一区二区三区 | 制服.丝袜.亚洲.另类.中文| 色婷婷亚洲婷婷| av电影天堂一区二区在线| 国产风韵犹存在线视精品| 全国精品久久少妇| 日本在线不卡视频| 青青草国产成人av片免费| 亚洲午夜精品网| 亚洲综合色噜噜狠狠| 一区二区欧美视频| 亚洲曰韩产成在线| 亚洲午夜久久久| 爽爽淫人综合网网站| 午夜欧美2019年伦理| 轻轻草成人在线| 日本欧美肥老太交大片| 六月婷婷色综合| 韩国女主播成人在线观看| 国产一二精品视频| 国产麻豆成人传媒免费观看| 国产麻豆精品久久一二三| 国产福利91精品一区二区三区| 国产电影精品久久禁18| 国产精品一区二区你懂的| 成人性生交大片免费看视频在线| 粉嫩一区二区三区性色av| 91视频在线观看免费| 在线观看日韩国产| 欧美肥妇毛茸茸| 精品久久久久久久久久久久久久久 | 欧美区视频在线观看| 91精品国产综合久久福利软件| 欧美变态tickling挠脚心| 久久综合网色—综合色88| 国产精品美女久久福利网站| 亚洲另类在线视频| 免费看日韩精品| 国产美女精品在线| 91色综合久久久久婷婷| 欧美一区二区三区在线看| 久久久久久久免费视频了| 亚洲人成亚洲人成在线观看图片 | 欧美日本在线播放| 欧美不卡在线视频| 成人欧美一区二区三区白人| 五月婷婷综合在线| 国产精品夜夜爽| 色婷婷亚洲精品| 精品国产精品一区二区夜夜嗨| 国产精品无码永久免费888| 亚洲aⅴ怡春院| 国产98色在线|日韩| 欧美色精品在线视频| 久久精品免费在线观看| 亚洲一区二区影院| 国产精品正在播放| 欧美在线播放高清精品| 久久九九影视网| 亚洲成人一区二区在线观看| 国产福利不卡视频| 欧美色精品天天在线观看视频| 久久精品一区蜜桃臀影院| 亚洲第一福利一区| 99久久99久久久精品齐齐| 日韩一区二区免费在线电影| 亚洲欧美日韩国产手机在线 | 国产欧美中文在线| 日韩黄色片在线观看| 99久久精品国产网站| www激情久久| 日本女优在线视频一区二区 | av福利精品导航| 久久只精品国产| 美日韩一级片在线观看| 欧美日韩在线播放| 中文字幕一区二区三区在线不卡| 紧缚奴在线一区二区三区| 欧美日韩激情一区二区三区| 亚洲欧美影音先锋| 国产做a爰片久久毛片| 91精品在线一区二区| 性做久久久久久免费观看| 91网站最新网址| 国产精品嫩草久久久久| 国产成人综合亚洲91猫咪| 精品理论电影在线| 蜜臂av日日欢夜夜爽一区| 91精品国产综合久久香蕉的特点 | 国产精品国产三级国产三级人妇| 精品中文字幕一区二区| 日韩欧美一级精品久久| 日本成人中文字幕| 欧美日韩精品二区第二页| 日韩一区精品字幕| 91精品福利在线一区二区三区| 日韩黄色在线观看| 91精品国产一区二区三区| 美女视频第一区二区三区免费观看网站 |