很多时候在网站上注册时,我们会发现,注册表单通常需要检查用户名和电子邮件地址的可用性;从而确保用户之间不拥有相同的用户名和电子邮件地址;一些网站喜欢在用户提交填写的用户信息时,做信息可用性的检查,而一些网站会做实时的用户名和电子邮件地址可用性检查,例如:“用户名”文本框失去焦点时;就用户体验来说,实时的用户信息检查用户体验效果更好,而不是在表单提交后,告诉用户信息不符合系统要求。

在人事档案中,基础信息的要保证每人只能有一条(如下图)

倘若不限制,难以保证信息不重复,这样会造成数据的冗余,大量数据的重复与信息的不对称,给用户以信息的错觉,解决这个问题我们要等录入数据的人员在输入他人身份证号时需要去数据库中查找是否已经存在,如果使用以前的方法当提交时在来判断对客户来说太不友好了,提交时:个人的信息输入了很多,倘若判断存在了,输入过的信息会由于界面的刷新而丢失,此时考虑到实时检测而使用Ajax、Jquery来解决此问题,Ajax异步提交数据,时刻可以检测,我初步考虑是当输入完身份证号的文本框鼠标移除之后,来判断身份证号是否已经存在,以下是自己实现的过程。

首先看一下网上资料

下面截图是新浪微博的注册界面,它采用的是实时的用户信息检查,如:手机号码和用户名等信息。

在人事中填写基础信息的界面输入身份证号时,实施检查,当文本框失去焦点时对信息进行实时检查 ,身份证号失去焦点时,触发页面发送Ajax请求,调用后台的方法,到数据库中判断身份证信息是否存在,接着把查询结果返回到前端界面中,提示用户。

原理:

人事实例:

<td height="25" align="right" class="style17">
身份证号
:</td>
<td height="25" align="left" class="style19">
<input type="text" id="txtidNumber" onblur="JudgeUserName()" width="140px" /> </td>
<script type="text/javascript">
function JudgeUserName() {
//获取页面中的控件的输入的值
browers = +$("#txtidNumber").val();
//定义类型并将值传递给参数params
var params = '{browersType:"' + browers + '"}';
$.ajax({//调用ajax后台数据异步方法
//提交的方式
type: "Post",
//数据的传送页面:要启动界面的地址/界面的后台的方法
url: "Add.aspx/SayHello",
contentType: "application/json; charset=utf-8",
data: params,
//传到服务器的参数类型
dataType: "json", //重要的后台的回调函数(很重要)
success: function (data) {
//返回提示给界面效果
alert(data.d); },
//出错提示
error: function (err) {
alert(err);
}
});
}

后台代码:

这个是jquery下Ajax方法调用后台方法。

这个方法有几点需要说明:

type方式必须是post,再有就是后台的方法必须是静态的,方法声明要加上特性[System.Web.Services.WebMethod()],传递的参数个数也应该和方法的参数相同。这个自己调试很长时间,找了好多资料才调试好的。

[System.Web.Services.WebMethod()]
public static string SayHello(string browersType)
{
//创建数据库连接
SqlConnection con = new SqlConnection("server=.;database=PersonnelFiles;uid=sa;pwd=123456;");
//打开连接
con.Open();
//查询前台传过来的数据数据库中是否存在此数据
SqlCommand cmd = new SqlCommand("select Count(*) from T_BasicInformation where idNumber='" + browersType + "'", con);
//返回有的条数
int count = Convert.ToInt32(cmd.ExecuteScalar());
//加以判断
if (count > 0)
{
return "此人个人信息已经存在,请修改原有信息!"; }
else
{
return "可以正确注册";
} }

实现的效果图:

图1:

图2

总结

这两天经过调试这个、实现此功能,加深了对视频中的基础知识的理解、断点调试的熟悉,Ajax知识很多、但是重点的也几部分,接下来一篇文章总结asp中Jquery、Ajax的实现异步操作的几种方式,掌握了最基本的原理,其余几种方法都是类似的,只是处理不同的类型而已。

AJAX+jQuery+ASP实现实时验证身份证信息是否已存在---人事系统的更多相关文章

  1. JAVA代码验证身份证信息

    java验证身份证信息代码 转自:http://www.blogjava.net/xylz/archive/2011/01/05/342330.html import java.util.Calend ...

  2. ajax初探--实现简单实时验证

    学习技术最好的方式就是在做中学,做一个小demo来对前端输入进行实时验证. 利用ajax技术和Sevlet技术来实现,使用原生的js. 源码可访问,我的Github 什么是ajax Ajax 即&qu ...

  3. jquery表单实时验证

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. ajax jquery 异步表单验证

    文件目录: html代码: <html> <head> <title>异步表单验证</title> <script type='text/java ...

  5. 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)

    使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...

  6. ASP.NET MVC Jquery Validate 表单验证的多种方式

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  7. [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  8. jQuery validation学习(2)验证身份证

    验证邮编 jQuery.validator.addMethod("isZipCode", function(value, element) { -]{}$/; return thi ...

  9. jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...

随机推荐

  1. SpringSecurity 进行自定义Token校验

    背景 Spring Security默认使用「用户名/密码」的方式进行登陆校验,并通过cookie的方式存留登陆信息.在一些定制化场景,比如希望单独使用token串进行部分页面的访问权限控制时,默认方 ...

  2. MongoDB 条件操作符

    描述 条件操作符用于比较两个表达式并从mongoDB集合中获取数据. 在本章节中,我们将讨论如何在MongoDB中使用条件操作符. MongoDB中条件操作符有: (>) 大于 - $gt (& ...

  3. Matlab—regexp正则表达式

    原文转自:http://blog.csdn.net/yf210yf/article/details/42421523 关于正则表达式的基本知识 正则表达式就是一个表达式(也是一串字符),它定义了某种字 ...

  4. jQuery中$(function()与(function($)等的区别详细讲解

    (function($) {-})(jQuery); 这里实际上是匿名函数,如下: function(arg){-} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的, ...

  5. 浅析"Sublabel-Accurate Relaxation of Nonconvex Energies" CVPR 2016 Best Paper Honorable Mention

    今天作了一个paper reading,感觉论文不错,马克一下~ CVPR 2016 Best Paper Honorable Mention "Sublabel-Accurate Rela ...

  6. Android艺术开发探索第三章————View的事件体系(下)

    Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动 ...

  7. Android必知必会-长按返回健退出

    背景 平常比较常见的都是一定时间间隔内按两次返回键来退出应用,并且第一次点击会有相应的提示,网上资料比较多,这里写一下,长按返回键退出. 实现 实现的方案常用的有两个: 重写dispatchKeyEv ...

  8. maven配置详解

    什么是pom?     pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的 ...

  9. CVS简介

    CVS - Concurrent Versions System(并发版本管理系统)是一个版本控制管理系统,它是SVN出现之前最为广泛使用的一个版本控制系统. CVS的优点就不多说了,总之没有它,早期 ...

  10. 18 UI美化之level(等级显示显示)

    根据level显示哪张图片 在工程文件的res/drawable/新建level-list 如下 <?xml version="1.0" encoding="utf ...