Ajax验证用户名是否已存在

前端之家收集整理的这篇文章主要介绍了Ajax验证用户名是否已存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个简单的例子,代码如下:
Default.aspx页面代码
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 id="Head1" runat="server">
<title>这个是ajax页面</title>
<script language="javascript" type="text/javascript">

//定义用于存储XMLHttpRequest对象的变量
var xmlHttp = null;

//创建XMLHttpRequest对象
function creatXMLHTTP() {
//判断浏览器是否支持ActiveX控件
if (window.ActiveXObject) {
//将所有可能出现的ActiveXObject版本都放在一个数组中
var arrXmlHttpTypes = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
//通过循环创建XMLHttpRequest对象
for (var i = 0; i < arrXmlHttpTypes.length; i++) {
try {
//创建XMLHttpRequest对象
xmlHttp = new ActiveXObject(arrXmlHttpTypes[i]);
//如果创建XMLHttpRequest对象成功,则跳出循环
break;
}
catch (ex) {
}
}
}
//判断浏览器是否将XMLHttpRequest作为本地对象实现
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
//响应XMLHttpRequest对象状态变化的函数
function httpStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200 || xmlHttp.status == 0) {
//获得服务器返回的数据
//定义一个变量,用于判断用户名是否已经存在
var bFlag = "false";
bFlag = xmlHttp.responseText;
//查找节点
var node = document.getElementByIdx_x("myDiv");
//更新数据
if (bFlag == "true") {
node.firstChild.nodeValue = "此用户名已经存在!";
myForm.submitButton.disabled = true;
}
else {
node.firstChild.nodeValue = "此用户名可以使用!";
myForm.submitButton.disabled = false;
}
}
}
}

//校验用户名是否有效
function checkName() {
//创建XMLHttpRequest对象
creatXMLHTTP();
if (xmlHttp != null) {
//创建响应XMLHttpRequest对象状态变化的函数
xmlHttp.onreadystatechange = httpStateChange;
var uname = myForm.myName.value
//创建HTTP请求
xmlHttp.open("get","Handler.ashx?id=" + uname,true);
//发送HTTP请求
xmlHttp.send(null);
}
else {
alert("您的浏览器不支持XMLHTTP,请更换浏览器后再进行注册。");
}
}
</script>
</head>
<body>
<p align="center">
<b>用户注册</b></p>
<form name="myForm" runat="server" id="myForm">
用户名:<input type="text" name="myName" onblur="checkName()" />
<span id="myDiv">&nbsp;</span><br />
</form>
</body>
</html>

Handler.ashx类代码

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
adviceDAL adal = new adviceDAL();
string flag = "false";
//获取js传递过来的id值
string username = System.Web.HttpContext.Current.Request.QueryString["id"];
//建立数据库访问类
//构建sql语句
string sqlstr = "select name from advice where name='"+username+"'";
//获取datatable
DataTable dt = adal.GetDataTable(sqlstr);
//获取sql返回值
int a =dt.Rows.Count;
if (a > 0)
{
flag = "true";
}
else
{
flag ="false";
}
context.Response.Write(flag);
}
public bool IsReusable {
get {
return false;
}
}
}
运行效果图如下:


原文链接:https://www.f2er.com/ajax/165197.html

猜你在找的Ajax相关文章