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 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
javascript parseInt与Number函数的区别
Jan 21 Javascript
javascript中this做事件参数相关问题解答
Mar 17 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
详解Webwork中Action 调用的方法
Feb 02 Javascript
js注入 黑客之路必备!
Sep 14 Javascript
HTML5实现微信拍摄上传照片功能
Apr 21 Javascript
vue+iview写个弹框的示例代码
Dec 05 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
Node.js API详解之 dgram模块用法实例分析
Jun 05 Javascript
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
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和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
php判断表是否存在的方法
2015/06/18 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
python基础教程之缩进介绍
2014/08/29 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
什么是Python变量作用域
2020/06/03 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
小学教师师德反思
2014/02/03 职场文书
电子信息专业自荐书
2014/02/04 职场文书
禁毒宣传标语
2014/06/19 职场文书
社区党支部承诺书
2015/04/29 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
SQL中的三种去重方法小结
2021/11/01 SQL Server
如何利用python实现Simhash算法
2022/06/28 Python