1. 程式人生 > >【javaweb】JQ實現簡單的註冊頁面資料校驗(究極版)

【javaweb】JQ實現簡單的註冊頁面資料校驗(究極版)

需求:前面寫了一個簡單的表單檢驗,需要使用者提交資訊後才會對錶單資訊進行檢驗,下面我們增加對使用者的提供友好提示,即輸入時就為表單資訊進行檢驗,並提供提示資訊。

步驟分析:1. 匯入JQ的檔案
                  2. 文件載入事件: 在必填項後天加一個小紅點
                  3. 表單校驗確定事件: blur focus keyup
                  4. 提交表單 submit

原始碼如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" href="../css/style.css" />
		<title></title>
		<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>
		<script>
			
			$(function(){  //預設做一些頁面初始化
				//動態在必填項後面新增小紅點
				$(".bitian").after("<font class='high'>*</font>");
				
				//給必填項繫結事件
				$(".bitian").blur(function(){
					//首先獲取使用者當前輸入的值
					var value = this.value; //123
					//清空上一次提示的資訊
					$(this).parent().find(".formtips").remove();
					
					//判斷當前的值是哪一項輸入的值
					if($(this).is("#username")){  //判斷是否是使用者名稱輸入項
						if(value.length < 6){
							$(this).parent().append("<span class='formtips onError'>使用者名稱太短了</span>");
						}else{
							$(this).parent().append("<span class='formtips onSuccess'>使用者名稱夠用</span>");
						}
					}
					
					if($(this).is("#password")){  //判斷是否是密碼輸入項
						if(value.length < 6){
							$(this).parent().append("<span class='formtips onError'>,密碼太短了</span>");
						}else{
							$(this).parent().append("<span class='formtips onSuccess'>密碼夠用</span>");
						}
					}
				}).focus(function(){
					$(this).triggerHandler("blur");
				}).keyup(function(){
					$(this).triggerHandler("blur");
				})
				
				
				
				//給表單提交繫結事件
				$("form").submit(function(){
					//觸發所有必填項的校驗
					$(".bitian").trigger("focus");
					//找到錯誤資訊的個數
					if($(".onError").length > 0){
						return false;
					}
					return true;
				});
			});
			
			
			
			
			
			
			
		/*	
			$(function(){
				// 在所有必填項後天加一個小紅點 *
				$(".bitian").after("<font class='high'>*</font>");
				
				//事件繫結
				$(".bitian").blur(function(){
//					var value = this.value;
					var value = $(this).val();
					//清空當前必填項後面的span 
//					$(".formtips").remove();
					$(this).parent().find(".formtips").remove();
					//獲得當前事件是誰的
					if($(this).is("#username")){
						//校驗使用者名稱
						if(value.length < 6){
							$(this).parent().append("<span class='formtips onError'>使用者名稱太短了</span>");
						}else{
							$(this).parent().append("<span class='formtips onSuccess'>使用者名稱夠用</span>");
						}
					}
					
					if($(this).is("#password")){
						//校驗密碼
						if(value.length < 3){
							$(this).parent().append("<span class='formtips onError'>密碼太短了</span>");
						}else{
							$(this).parent().append("<span class='formtips onSuccess'>密碼夠用</span>");
						}
					}
				}).focus(function(){
					$(this).triggerHandler("blur");
				}).keyup(function(){
					$(this).triggerHandler("blur");
				});
				
//				$(".bitian").blur(function(){}).focus(function(){}).keyup(function(){})

				//給表單繫結提交事件
				$("form").submit(function(){
					//觸發必填項的校驗邏輯
					$(".bitian").trigger("focus");
					
					var length = $(".onError").length
					if(length > 0){
						return false;
					}
					return true;
				});
			});*/
			
		</script>
	</head>
	<body>
		<form action="../index.html">
			<div>
				使用者名稱:<input type="text" class="bitian" id="username" />
			</div>
			<div>
				密碼:<input type="password"  class="bitian" id="password" />
			</div>
			<div>
				手機號:<input type="tel" />
			</div>
			<div>
				<input type="submit" />
			</div>
		</form>
	</body>
</html>

示例: