20151222jquery學習筆記--驗證登錄檔單

破玉發表於2015-12-22
$(function () {

	$('#search_button').button({
		icons : {
			primary : 'ui-icon-search',
		},
	});
	

	$('#reg').dialog({
		autoOpen : true,
		modal : true,
		resizable : false,
		width : 320,
		height : 340,
		buttons : {
			'提交' : function () {
				$(this).submit();
			}
		}
	}).buttonset().validate({
	
		submitHandler : function (form) {
			alert('驗證成功,準備提交中。。');
		},
	
		showErrors : function (errorMap, errorList) {
			var errors = this.numberOfInvalids();
			
			if (errors > 0) {
				$('#reg').dialog('option', 'height', errors * 20 + 340);
			} else {
				$('#reg').dialog('option', 'height', 340);
			}
			
			this.defaultShowErrors();
		},
		
		highlight : function (element, errorClass) {
			$(element).css('border', '1px solid #630');
		},
		
		unhighlight : function (element, errorClass) {
			$(element).css('border', '1px solid #ccc');
			$(element).parent().find('span').html(' ').addClass('succ');
		},
	
		errorLabelContainer : 'ol.reg_error',
		wrapper : 'li',
	
		rules : {
			user : {
				required : true,
				minlength : 2,
			},
			pass : {
				required : true,
				minlength : 6,
			},
			email : {
				required : true,
				email : true
			},
			date : {
				date : true,
			},
		},
		messages : {
			user : {
				required : '帳號不得為空!',
				minlength : jQuery.format('帳號不得小於{0}位!'),
			},
			pass : {
				required : '密碼不得為空!',
				minlength : jQuery.format('密碼不得小於{0}位!'),
			},
			email : {
				required : '郵箱不得為空!',
				minlength : '請輸入正確的郵箱地址!',
			},	
		}
	});
	
	$('#date').datepicker({
		changeMonth : true,
		changeYear : true,
		yearSuffix : '',
		maxDate : 0,
		yearRange : '1950:2020',

	});
		
	
	$('#email').autocomplete({
		delay : 0,
		autoFocus : true,
		source : function (request, response) {
			//獲取使用者輸入的內容
			//alert(request.term);
			//繫結資料來源的
			//response(['aa', 'aaaa', 'aaaaaa', 'bb']);
			
			var hosts = ['qq.com', '163.com', '263.com', 'sina.com.cn','gmail.com', 'hotmail.com'],
				term = request.term,		//獲取使用者輸入的內容
				name = term,				//郵箱的使用者名稱
				host = '',					//郵箱的域名
				ix = term.indexOf('@'),		//@的位置
				result = [];				//最終呈現的郵箱列表
				
				
			result.push(term);
			
			//當有@的時候,重新分別使用者名稱和域名
			if (ix > -1) {
				name = term.slice(0, ix);
				host = term.slice(ix + 1);
			}
			
			if (name) {
				//如果使用者已經輸入@和後面的域名,
				//那麼就找到相關的域名提示,比如bnbbs@1,就提示bnbbs@163.com
				//如果使用者還沒有輸入@或後面的域名,
				//那麼就把所有的域名都提示出來
				
				var findedHosts = (host ? $.grep(hosts, function (value, index) {
						return value.indexOf(host) > -1
					}) : hosts),
					findedResult = $.map(findedHosts, function (value, index) {
					return name + '@' + value;
				});
				
				result = result.concat(findedResult);
			}
			
			response(result);
		},	
	});
	

});

  

相關文章