jQuery使用$.ajax进行即时验证的方法


Posted in Javascript onDecember 08, 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 相关文章推荐
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
Javascript 面向对象编程(coolshell)
Mar 18 Javascript
JS合并数组的几种方法及优劣比较
Sep 19 Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 Javascript
基于javascript实现窗口抖动效果
Jan 03 Javascript
node.js实现爬虫教程
Aug 25 Javascript
Vue.js用法详解
Nov 13 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
Angular4 反向代理Details实践
May 30 Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
基于JavaScript创建动态Dom
Dec 08 #Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
Dec 08 #Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 #Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 #Javascript
JS实现按比例缩放图片的方法(附C#版代码)
Dec 08 #Javascript
JS获取文件大小方法小结
Dec 08 #Javascript
js+ajax实现获取文件大小的方法
Dec 08 #Javascript
You might like
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
javascript 继承实现方法
2009/08/26 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
brook javascript框架介绍
2011/10/10 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python logging模块用法示例
2018/08/28 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
详解Python 函数参数的拆解
2020/09/02 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
一道Delphi上机题
2012/06/04 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书