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 相关文章推荐
新老版本juqery获取radio对象的方法
Mar 01 Javascript
用js判断页面是否加载完成实现代码
Dec 11 Javascript
根据选择不同的下拉值出现相对应的文本输入框
Aug 01 Javascript
jQuery增加自定义函数的方法
Jul 18 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 Javascript
详解Bootstrap 学习(一)入门
Apr 12 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
JavaScript文档对象模型DOM
Nov 20 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
jquery动态加载js三种方法实例
2013/08/03 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python global全局变量函数详解
2018/09/18 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
python中pickle模块浅析
2020/12/29 Python
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
建龙钢铁面试总结
2014/04/15 面试题
《美丽的小路》教学反思
2014/02/26 职场文书
听课评语大全
2014/04/30 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
三好学生事迹材料
2014/12/24 职场文书
酒会开场白大全
2015/06/01 职场文书
主持稿开场白
2015/06/01 职场文书
初一军训感言
2015/08/01 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL