ajax实现实时校验

有时候我们在注册用户时候我们输入用户名,他会提示用户名已存在,我们该怎么去实现他呢?

我们要实现以下代码:

<script type="text/javascript">
	$(function(){
			        $("填写输入框的ID").blur(function(){
			          var value=$(this).val();
			          if(value==""){
			            $("#msg").html("用户名不为空")
			            return
			            }else{
			            $("#msg").html("")
			            }
			            jQuery.ajax({
			              "async":true,  //异步加载
			              "data":{"填入controller方法的参数名":value}, //参数
			              "type":"POST",
			              "url":"访问的controller",
			              "dataType":"text",
			              "success":function(data){
			                 var numstr=data;
			              	 if (numstr>=1) {
			              		 $("#msg").html("用户名已存在");
			              		 document.getElementById("btn").disabled = "disabled";
			       				   }else{
							            $("#msg").html("")
							            }
			              }
			            });
			        });
			  });
</script>

访问控制器后,控制器去数据库进行查找是否有该用户名的存在,如果有就返回查找的数据结果(根据用户名查找到数据条数),再用异步请求回应:

          response.getWriter().write(num+"");

这里只是去接受一个参数,去数据库查找是否有,查找有返回的是共有几条数据,一般查找(唯一)用户名,如果有的话,返回的是1,再返回到界面去判断。

			              	 if (numstr>=1) {
			              		 $("#msg").html("用户名已存在");
			              		 document.getElementById("btn").disabled = "disabled";
			       				   }else{
							            $("#msg").html("")
							            }
<span id="msg" style="color:red"></span>

如果>1的话,该设置<span>标签元素的html内容为“用户名已存在”

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要在前端页面中使用JavaScript编写Ajax请求,然后将请求发送到后端的jsp页面进行处理。在jsp页面中,我们可以通过获取前端页面传递过来的邮箱参数,然后查询数据库中是否存在该邮箱。 以下是一个简单的实现过程: 在前端页面中,编写JavaScript代码发送Ajax请求: ```javascript function checkEmail() { var email = document.getElementById("email").value; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById("emailMsg").innerHTML = xhr.responseText; } } xhr.open("POST", "checkEmail.jsp", true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send("email=" + email); } ``` 在后端的checkEmail.jsp页面中,获取前端页面传递过来的邮箱参数,并查询数据库中是否存在该邮箱: ```jsp <% String email = request.getParameter("email"); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { // 获取数据库连接 conn = DBUtil.getConnection(); // 查询邮箱是否存在 String sql = "select * from user where email = ?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, email); rs = pstmt.executeQuery(); if (rs.next()) { // 邮箱已存在 out.print("该邮箱已被注册!"); } else { // 邮箱不存在 out.print(""); } } catch (Exception e) { e.printStackTrace(); } finally { // 关闭数据库连接 DBUtil.close(conn, pstmt, rs); } %> ``` 最后,在前端页面中调用checkEmail()方法进行邮箱校验: ```html <input type="text" id="email" name="email" onblur="checkEmail()"> <span id="emailMsg"></span> ``` 这样就实现了用jsp实现Ajax的方式校验用户提交的注册邮箱是否已存在的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值