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

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

倘若不限制,难以保证信息不重复,这样会造成数据的冗余,大量数据的重复与信息的不对称,给用户以信息的错觉,解决这个问题我们要等录入数据的人员在输入他人身份证号时需要去数据库中查找是否已经存在,如果使用以前的方法当提交时在来判断对客户来说太不友好了,提交时:个人的信息输入了很多,倘若判断存在了,输入过的信息会由于界面的刷新而丢失,此时考虑到实时检测而使用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. Java程序员的Golang入门指南(下)

    Java程序员的Golang入门指南(下) 4.高级特性 上面介绍的只是Golang的基本语法和特性,尽管像控制语句的条件不用圆括号.函数多返回值.switch-case默认break.函数闭包.集合 ...

  2. 给现有的word和pdf加水印

    iTextSharp简单生成pdf和操作pdf添加水印 给word加水印,利用的是aspose.words

  3. 大话XML解析

    之前我写过一篇关于xml解析的文章:http://blog.csdn.net/sdksdk0/article/details/50749326.今天这篇文章主要是进一步加深对xml基础的理解了使用,毕 ...

  4. MacOS获取辅助功能权限控制鼠标点击事件

    昨晚玩一个模拟经营的游戏,由于升级太慢我就不停的种树卖树来换取经验值.不过重复点击10几分钟后,实在受不了.网上本来准备找个鼠标自动点击的软件用用.结果没找到趁手的.如是自己写了个. 自己设置需要点击 ...

  5. Android艺术开发探索——第二章:IPC机制(下)

    Android艺术开发探索--第二章:IPC机制(下) 我们继续来讲IPC机制,在本篇中你将会学习到 ContentProvider Socket Binder连接池 一.使用ContentProvi ...

  6. 搭建ejabberd集群

    搭建ejabberd集群(金庆的专栏 2016.8)以2台机器搭建一个ejabberd集群.2台机器都是外网一块网卡,内网另一块网卡.新建一个域名,添加2台机器的外网IP.分别用源码安装ejabber ...

  7. 阻尼回弹效果的ScrollView嵌套GridView

    以前写过一篇带阻尼回弹效果的ScrollView,但是有些小问题,于是又重新整理了一下,这篇文章一是一个带阻尼的Scrollview,再个就是Scrollview嵌套GridView实现,而GridV ...

  8. SSH网上商城---商品详情页的制作

    在前面的博文中,小编分别简单的介绍了邮件的发送以及邮件的激活,逛淘宝的小伙伴都有这样的体会,比如在搜索框中输入连衣裙这个商品的时候,会出现多种多样各种款式的连衣裙,连衣裙的信息包括价格,多少人购买,商 ...

  9. 携程React Native实践

    React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化 ...

  10. Android之使用参数改变ProgressDialog的位置、大小、背景透明度、屏幕透明度

    废话不多说,这个改变ProgressDialog的一些配置属性和前面我讲的AlertDialog的设置参数方法一模一样,这里就为了更直观,直接贴实现代码吧: ProgressDialog mProgr ...