jQuery使用$.ajax进行即时验证实例详解


Posted in Javascript onDecember 11, 2015

本文实例讲述了jQuery使用$.ajax进行即时验证的方法。分享给大家供大家参考,具体如下:

这里实现使用jQuery和一般处理程序即时验证用户录入的学号是否重复,当光标离开输入框即给出提示。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddStudent.aspx.cs" Inherits="AddStudent" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title></title>
 <style type="text/css">
  .clsShow
  {
   font-size: 13px;
   border: solid 1px #cc3300;
   padding: 2px;
   display: none;
   margin-bottom: 5px;
   background-color: #ffe0a3;
  }
 </style>
 <script type="text/javascript" src="Scripts/jquery-1.4.2.js"></script>
 <script type="text/javascript">
  $(function () {
   $("#btnSave").click(function () {
    if ($(".clsShow").html().toString() != "")//存在提示信息,则不允许提交表单
     return false;
    else
     return true;
   });
   $("#txtNum").focus(); //输入焦点
   $("#txtNum").keydown(function (event) {
    if (event.which == "13") {//回车键,移动光标到密码框
     $("#txtName").focus();
     $("#txtNum").trigger("blur");
    }
   });
   $("#txtNum").blur(function () {
    //获取学号
    var strTxtName = encodeURI($("#txtNum").val());
    //开始发送数据
    $.ajax
    ({ //请求验证学号是否重复
     url: "Check.ashx", 
     type: "post",
     //传送请求数据
     data: { txtNum: strTxtName },
     success: function (strValue) { //登录成功后返回的数据
      //根据返回值进行状态显示
      if (strValue == "True") {//注意是True,不是true
       $(".clsShow").css("display", "inline");
       $(".clsShow").html("学号已存在,请修改!");
      }
      else {
       $(".clsShow").hide(); //就是把display属性变成none
       $(".clsShow").html("");
      }
     }
    })
   })
  })
 </script>
</head>
<body>
 <form id="form1" runat="server">
 <div>
  学号:<asp:TextBox 
   ID="txtNum" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
   ControlToValidate="txtNum" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
  <div class="clsShow"></div>
  <br />
  姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
   ControlToValidate="txtName" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
  <br />
  数学:<asp:TextBox 
   ID="txtMath" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
   ControlToValidate="txtMath" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
  <asp:RangeValidator ID="RangeValidator1" runat="server" 
   ControlToValidate="txtMath" ErrorMessage="分数在0-100之间" MaximumValue="100" 
   MinimumValue="0" Type="Integer"></asp:RangeValidator>
  <br />
  英语:<asp:TextBox ID="txtEnglish" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
   ControlToValidate="txtEnglish" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
  <asp:RangeValidator ID="RangeValidator2" runat="server" 
   ControlToValidate="txtEnglish" ErrorMessage="分数在0-100之间" MaximumValue="100" 
   MinimumValue="0" Type="Integer"></asp:RangeValidator>
  <br />
  语文:<asp:TextBox ID="txtChinese" runat="server"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
   ControlToValidate="txtChinese" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
  <asp:RangeValidator ID="RangeValidator3" runat="server" 
   ControlToValidate="txtChinese" ErrorMessage="分数在0-100之间" MaximumValue="100" 
   MinimumValue="0" Type="Integer"></asp:RangeValidator>
  <br />
  <asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" />
  <asp:Button ID="btnBack" runat="server" Text="返回" CausesValidation="False" 
   onclick="btnBack_Click" />
  <asp:Label ID="lblMsg" runat="server"></asp:Label>
 </div>
 </form>
</body>
</html>

一般处理程序Check.ashx代码:

<%@ WebHandler Language="C#" class="Check" %>
using System;
using System.Web;
public class Check : IHttpHandler {
 public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "text/plain";
  string num = context.Request["txtNum"].ToString();
  bool result = false;
  if(num=="12")//为了简化代码,没有访问数据库。实际项目应查询数据库。
  {
   result = true;
  }
  context.Response.Write(result);
 }
 public bool IsReusable {
  get {
   return false;
  }
 }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js内存泄露的几种情况详细探讨
May 31 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
input输入框内容实时监测(附代码)
Aug 15 Javascript
JavaScript设计模式之调停者模式实例详解
Feb 03 Javascript
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
Vue vm.$attrs使用场景详解
Mar 08 Javascript
JavaScript基础篇(6)之函数表达式闭包
Dec 11 #Javascript
jQuery弹簧插件编写基础之“又见弹窗”
Dec 11 #Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
Dec 11 #Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 #Javascript
Express的路由详解
Dec 10 #Javascript
在 Express 中使用模板引擎
Dec 10 #Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 #Javascript
You might like
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
跟老齐学Python之Import 模块
2014/10/13 Python
Python分析学校四六级过关情况
2017/11/22 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python+opencv识别图片中的圆形
2020/03/25 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
python中的句柄操作的方法示例
2019/06/20 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
Nike香港官网:Nike HK
2019/03/23 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
医学专业职业生涯规划范文
2014/02/05 职场文书
团购业务员岗位职责
2014/03/15 职场文书
教师求职信范文
2014/05/24 职场文书
观后感格式
2015/06/19 职场文书
禁毒主题班会教案
2015/08/14 职场文书
母亲节主题班会
2015/08/14 职场文书
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android
Java使用HttpClient实现文件下载
2022/08/14 Java/Android