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 相关文章推荐
自己的js工具_Form 封装
Aug 21 Javascript
jquery控制listbox中项的移动并排序的实现代码
Sep 28 Javascript
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
javascript白色简洁计算器
May 04 Javascript
jquery zTree异步加载简单实例讲解
Feb 25 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
纯js+css实现在线时钟
Aug 18 Javascript
基于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代码
2011/11/27 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
django项目中使用手机号登录的实例代码
2019/08/15 Python
在python中使用nohup命令说明
2020/04/16 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
护士自荐信怎么写
2013/10/18 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
护士个人总结范文
2015/02/13 职场文书
保送生自荐信
2015/03/06 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
党员公开承诺书2016
2016/03/24 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python