在JSP中如何用JS验证用户名重复
2013-09-25 14:58
225 查看
要做这种校验首先你得对js的常用方法和ajax了解, 首先我给你一个jsp页面,页面上有详细注释,有些基础都可以看明白
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function validteName(){
//1、创建XMLHttpRequest对象
var client = null;
if((typeof XMLHttpRequest) != 'undefined'){
client = new XMLHttpRequest();//FF
}else{
client = new ActiveXObject(Microsoft.XMLHTTP);//IE
}
//2、建立与服务器端的连接
var uname = document.getElementById('uname').value;
var url = "/ajax_day01/validatename?uname=" + uname;
client.open('GET',url,true);
//[3、发送数据]
client.send(null);
//4、服务器端处理
//5、响应完成后,做页面展示工作
client.onreadystatechange = function(){
if(client.readyState==1||client.readyState==2
||client.readyState==3){
document.getElementById('msg1').innerHTML = "<img src='../images/loading025.gif'>正在研究~~~";
}
if(client.readyState==4){//响应完成
var resText = client.responseText;//获取服务器端的响应数据
if(resText=='1'){
document.getElementById('msg1').innerHTML = "此用户名被占用,请更换";
}else if(resText=='0'){
document.getElementById('msg1').innerHTML = "可用,请牢记";
}
}
}
}
</script>
</head>
<body>
<div>
<form>
<div>
<label>用户名:</label>
<input type='text' name='uname' id='uname'
onblur='validteName();'>
<span id='msg1'>请输入用户名</span>
</div>
<div>
<label>密 码:</label>
<input type='password' name='pwd' id='pwd'>
<span id='msg2'>请输入密码</span>
</div>
<div>
<input type='submit' value='√'>
<input type='reset' value='×'>
</div>
</form>
</div>
</body>
</html>
这样在你填写姓名栏时,你触动了一个js函数validteName(),他会将你的填写的内容发送到"/ajax_day01/validatename?uname=" + uname 这是一个servlet 也可以是个Action ,无所谓你如果没学过struts1.x或者2系列的话,那就用servlet就可以,发送到servlet后你可以从数据库中查看时否有这个名字,
写一点servlet中的代码
String name=request.getParameter("uname");
if(name.equals("frank")){
response.getWriter().write("1");
}
else{
response.getWriter().write("0");
}
}
假如frank是你从数据库里查出来的,这样相应文本可以被发到你的那个页面 var resText =
client.responseText;//获取服务器端的响应数据 这个可以接到你的响应文本,你可以做判断 在页面
改变些什么提示是否重复,你知道你看懂没,如果没能理解就看一些ajax的知识吧,这里的逻辑很简单的,
只要看看ajax就可以掌握了。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function validteName(){
//1、创建XMLHttpRequest对象
var client = null;
if((typeof XMLHttpRequest) != 'undefined'){
client = new XMLHttpRequest();//FF
}else{
client = new ActiveXObject(Microsoft.XMLHTTP);//IE
}
//2、建立与服务器端的连接
var uname = document.getElementById('uname').value;
var url = "/ajax_day01/validatename?uname=" + uname;
client.open('GET',url,true);
//[3、发送数据]
client.send(null);
//4、服务器端处理
//5、响应完成后,做页面展示工作
client.onreadystatechange = function(){
if(client.readyState==1||client.readyState==2
||client.readyState==3){
document.getElementById('msg1').innerHTML = "<img src='../images/loading025.gif'>正在研究~~~";
}
if(client.readyState==4){//响应完成
var resText = client.responseText;//获取服务器端的响应数据
if(resText=='1'){
document.getElementById('msg1').innerHTML = "此用户名被占用,请更换";
}else if(resText=='0'){
document.getElementById('msg1').innerHTML = "可用,请牢记";
}
}
}
}
</script>
</head>
<body>
<div>
<form>
<div>
<label>用户名:</label>
<input type='text' name='uname' id='uname'
onblur='validteName();'>
<span id='msg1'>请输入用户名</span>
</div>
<div>
<label>密 码:</label>
<input type='password' name='pwd' id='pwd'>
<span id='msg2'>请输入密码</span>
</div>
<div>
<input type='submit' value='√'>
<input type='reset' value='×'>
</div>
</form>
</div>
</body>
</html>
这样在你填写姓名栏时,你触动了一个js函数validteName(),他会将你的填写的内容发送到"/ajax_day01/validatename?uname=" + uname 这是一个servlet 也可以是个Action ,无所谓你如果没学过struts1.x或者2系列的话,那就用servlet就可以,发送到servlet后你可以从数据库中查看时否有这个名字,
写一点servlet中的代码
String name=request.getParameter("uname");
if(name.equals("frank")){
response.getWriter().write("1");
}
else{
response.getWriter().write("0");
}
}
假如frank是你从数据库里查出来的,这样相应文本可以被发到你的那个页面 var resText =
client.responseText;//获取服务器端的响应数据 这个可以接到你的响应文本,你可以做判断 在页面
改变些什么提示是否重复,你知道你看懂没,如果没能理解就看一些ajax的知识吧,这里的逻辑很简单的,
只要看看ajax就可以掌握了。
相关文章推荐
- jsp+ajax 验证用户名重复
- jsp+ajax+js验证用户名是否存在
- js验证注册用户名重复
- myeclipse 如何统一修改全部的java、jsp、js 等文件的编码
- Validform.js 实时验证用户名是否已经注册过
- js 验证用户名和密码是否为空
- 验证用户名邮箱是否为空并且是否重复
- js验证用户名的方法
- jsp中如何将Java对象转成js对象?
- 用jquery验证用户名是否有效或重复以及ajax出现的问题
- 如何遍历RadioButtonList控件并为子项添加JS验证
- eclipse加速之禁用JS、jsp等文件的语法验证
- 简单ajax应用实例:ajax+jsp实现用户名验证
- jsp页面常用js验证代码总结
- 如何使用js减少页面大量重复(js事件)语句
- 如何让jsp和js获取来源页地址和ip原理及代码
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- JSP随机验证图片如何制作
- 实时验证用户名是否重复
- 如何、怎么使MyEclipse,Eclipse,UEP studio下支持编写HTML/JS/CSS/JSP页面的自动提示。