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 相关文章推荐
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
JavaScript门面模式详解
Oct 19 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
vue中各种通信传值方式总结
Feb 14 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
Vue项目配置跨域访问和代理proxy设置方式
Sep 08 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 函数中使用static的说明
2012/06/01 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python数据封装json格式数据
2018/03/04 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
python实现flappy bird小游戏
2018/12/24 Python
python元组的概念知识点
2019/11/19 Python
Python版中国省市经纬度
2020/02/11 Python
Python更新所有已安装包的操作
2020/02/13 Python
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
应届生自我鉴定
2013/12/11 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
机械机修工岗位职责
2014/08/03 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
天河观后感
2015/06/11 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
nginx+lua单机上万并发的实现
2021/05/31 Servers
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电