JQuery---用户名校验

实例情境

用户名校验:

服务器端思路分析:

对指定用户名返回用户名已经存在,对其他用户名,返回用户名可以使用。

输入:用户名(约定参数为userName)

输出:提示信息(一段纯文本的内容,包含输入的用户名)例:可以使用用户名【admin】注册

主要代码:

UserVerify.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title>JQuery实战1-用户名校验</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<link type="text/css" rel="stylesheet" href="css/userVerify.css" />
		<script type="text/javascript" src="js/jquery.js"></script>
		<script type="text/javascript" src="js/userVerify.js"></script>
	</head>
	<body>
		请输入用户名:<input type="text" id="userName" class="userText"/> <input type="button" value="校验" id="verifyButton" />
		<div id="result"></div>
	</body>
</html>


userVerify.js:

/*
*需要通过JavaScript代码来做两件事
*1.button被按下的时候,需要将文本框中的数据获取到,然后发送给服务器端,最后接受服务器返回的数据,
填充到我们预留的div中,这样用户就可以看到结果
*2.文本框上,用户按键之后,需要判断文本框中的内容是否为空,如果不为空,红色的边框和背景图就该取消,否则保留
*/
/*
*需要在页面装在完成时注册上这些工作
*/
$(document).reday(function(){
	//这里面的内容就是页面装载完成后需要执行的代码
	var userNameNode=$("#userName");
	//需要找到button按钮,注册事件
	$("#verifyButton").click(function(){
		//获取文本框的内容
		var userName=userNameNode.val();
		//将这个内容发送给服务器端
		if(userName==""){
			alert("用户名不能为空");
		}else{
			$.get("http://127.0.0.1:8080/JQuery/UserVerify?userName=" + encodeURI(encodeURI(userName)),null,function(response){
				//3.接收服务器端返回的数据,填充到div中
			    $("#result").html(response);
			});
		}
	});
	//需要找到文本框,注册事件
	userNameNode.keyup(function(){
		//获取当前文本框中的内容
		var value=userNameNode.val();
		if(value==""){
			//让边框变成红色,并且带背景图
			userNameNode.addClass("userText");
			else{
				//去掉边框和背景图
				userNameNode.removeClass("userText");
		}
	});
	
})'

userVerify.css:

.userText{
	/*控制文本框的边框是红色的实实线*/
	border:1px solid red;
	background-image:url(../images/userVerify.gif);
	background-repeat:repeat-x;
	background-position:bottom;
}


效果:

 

总结:

学到的JQuery及其他开发知识:

1.HTML负责页面内容,CSS负责页面样式,JavaScript负责页面行为。

2.HTML中应该有DOCTYPE来告知浏览器的渲染显示方式。

3.可以先定义div或span节点用于以后显示服务器返回数据。

4.border属性可以控制页面元素的边框。

5.background-***可以控制背景图,以及背景图的位置,重复显示的方式。

6.可以通过#idname或.classame的方式来某个html节点指定样式。

7.可以通过$(document).ready(function(){})的方式来定义页面装在完成时,需要执行的方法。

8.可以通过$()方法来获得页面的指定节点,参数是某种css的选择器。

9.可以在$()方法返回的jquery对象上执行各种jquery的方法来获取数据,定义事件,执行操作。

10.val()方法可以获得节点的value属性值。

11.html()方法可以设定某个节点中的html内容。

12.click()方法可以响应鼠标点击事件。

13.keyup()方法可以响应键盘弹起的事件。

14.$.get()方法可以和服务器端进行get方式的交互,注册的callback方法会在数据回来的时候被调用,这个方法会接收到代表服务器端返回数据的一个纯文本的参数。

15.addCalss()、removeClass()方法可以给某个节点添加或删除已个class。

16.发送非服务器端的数据在JavaScript中做两次encodeURI,然后在服务器端的代码中按UTF-8的方式做一次URIDecode,可以解决中文乱码问题。

 

 

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值