<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RegisterOne.aspx.cs" Inherits="SMGKManager_RegisterOne" %>
<!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">
<script type="text/javascript">
function regok()
{
document.getElementById("content").style.display='none';
document.getElementById("content2").style.display='block';
}
</script>
<title>无标题页</title>
</head>
<body> <form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="scriptmanager1"></asp:ScriptManager>
<div id="head"></div>
<div id="content" runat="server" align="center">
<div>账户:<input class="txtreg1" onmouseover="this.className='txtreg2'" onmouseout="this.className='txtreg1'" id="txtloginname" runat="server" type="text" onblur="j_loginname()" /></div>
var xmlDom = false //XMLHTTP对象
try
{
xmlDom = new ActiveXObject("Msxml2.XMLHTTP");//IE高版本创建XMLHTTP
}
catch(E)
{
try
{
xmlDom = new ActiveXObject("Microsoft.XMLHTTP");//IE低版本创建XMLHTTP
}
catch(E)
{
xmlDom = new XMLHttpRequest();//兼容非IE浏览器,直接创建XMLHTTP对象
}
}
//判断表单
//注册时判断邮箱是否符合规范,是否已经被注册
function j_loginname()
{
var name = document.getElementById("txtloginname").value;
if(name==""){
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">用户昵称不能为空!</font></span>";
return false;
}
if(!isEmail(name))
{
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">请输入正确的邮箱!</font></span>";
return false;
}
checkusername(name);
}
//向服务器发送请求,检测邮箱是否已经被注册
function checkusername(name)
{
var d = new Date();
var strURL = "Register.ashx?type=1&username=" + name + "&guid=" + d.getTime();
xmlDom.Open("get",strURL , true);
xmlDom.onreadystatechange = fnRun1;
xmlDom.Send(xmlDom);
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">正在检测邮箱是否重复...请稍候...<font></span>";}//点击注册按钮后 回调的函数,用于显示服务器返回的结果
function fnRun1()
{
if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
{
var str = xmlDom.responseText; //保存已经查询过的用户名,下次直接返回
switch (str)
{
case "0"://数据出错
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">数据出错无法识别,请与管理员联系!<font></span>";
break;
case "1"://用户名已经注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">对不起!您注册的用户已经存在!</font></span>";
break;
case "2"://可以注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">恭喜你可以正常注册!</font></span>";
break;
}
}
}
<%@ WebHandler Language="C#" Class="Register" %>using System;
using System.Web;
using Y.BLL;
using Y.Model.Member;public class Register : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/xml"; MemberManager membermanager = new MemberManager();
string username = context.Request.QueryString["username"];
string type=context.Request.QueryString["type"];
switch (type)
{
case "1": int result = membermanager.SelMemberByName(username);
if (result != 0)
{
context.Response.Write("1");//用户名被占用
context.Response.End();
}
else
{ context.Response.Write("2"); //用户名可以注册
context.Response.End();
}
break;
}
火狐跟google不能用,在IE下完美运行,不知道为什么??谁能解释下啊?????
<!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">
<script type="text/javascript">
function regok()
{
document.getElementById("content").style.display='none';
document.getElementById("content2").style.display='block';
}
</script>
<title>无标题页</title>
</head>
<body> <form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="scriptmanager1"></asp:ScriptManager>
<div id="head"></div>
<div id="content" runat="server" align="center">
<div>账户:<input class="txtreg1" onmouseover="this.className='txtreg2'" onmouseout="this.className='txtreg1'" id="txtloginname" runat="server" type="text" onblur="j_loginname()" /></div>
var xmlDom = false //XMLHTTP对象
try
{
xmlDom = new ActiveXObject("Msxml2.XMLHTTP");//IE高版本创建XMLHTTP
}
catch(E)
{
try
{
xmlDom = new ActiveXObject("Microsoft.XMLHTTP");//IE低版本创建XMLHTTP
}
catch(E)
{
xmlDom = new XMLHttpRequest();//兼容非IE浏览器,直接创建XMLHTTP对象
}
}
//判断表单
//注册时判断邮箱是否符合规范,是否已经被注册
function j_loginname()
{
var name = document.getElementById("txtloginname").value;
if(name==""){
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">用户昵称不能为空!</font></span>";
return false;
}
if(!isEmail(name))
{
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">请输入正确的邮箱!</font></span>";
return false;
}
checkusername(name);
}
//向服务器发送请求,检测邮箱是否已经被注册
function checkusername(name)
{
var d = new Date();
var strURL = "Register.ashx?type=1&username=" + name + "&guid=" + d.getTime();
xmlDom.Open("get",strURL , true);
xmlDom.onreadystatechange = fnRun1;
xmlDom.Send(xmlDom);
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">正在检测邮箱是否重复...请稍候...<font></span>";}//点击注册按钮后 回调的函数,用于显示服务器返回的结果
function fnRun1()
{
if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
{
var str = xmlDom.responseText; //保存已经查询过的用户名,下次直接返回
switch (str)
{
case "0"://数据出错
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">数据出错无法识别,请与管理员联系!<font></span>";
break;
case "1"://用户名已经注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">对不起!您注册的用户已经存在!</font></span>";
break;
case "2"://可以注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">恭喜你可以正常注册!</font></span>";
break;
}
}
}
<%@ WebHandler Language="C#" Class="Register" %>using System;
using System.Web;
using Y.BLL;
using Y.Model.Member;public class Register : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/xml"; MemberManager membermanager = new MemberManager();
string username = context.Request.QueryString["username"];
string type=context.Request.QueryString["type"];
switch (type)
{
case "1": int result = membermanager.SelMemberByName(username);
if (result != 0)
{
context.Response.Write("1");//用户名被占用
context.Response.End();
}
else
{ context.Response.Write("2"); //用户名可以注册
context.Response.End();
}
break;
}
火狐跟google不能用,在IE下完美运行,不知道为什么??谁能解释下啊?????
服务器端的东西跟浏览器无关,不论是ashx,asmx还是aspx。估计还是js的兼容性问题。调试一下!
function checkusername(name)
{
var d = new Date();
var strURL = "Register.ashx?type=1&username=" + name + "&guid=" + d.getTime();
//此处alert(xmlDom)能alert出来但后面就不行了,有人说responseText看返回什么,关键他不进那段代码啊,从下面开始alert就没反映了,但IE都正常,也能alert出来。。
xmlDom.Open("get",strURL , true);
xmlDom.onreadystatechange = fnRun1;
xmlDom.Send(xmlDom);
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">正在检测邮箱是否重复...请稍候...<font></span>";}
{
//跟踪
alert(xmlDom.readyState);
alert(xmlDom.status);
if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
{
var str = xmlDom.responseText; //保存已经查询过的用户名,下次直接返回
switch (str)
{
case "0"://数据出错
document.getElementById("CheckLoginName").innerHTML = "<span><font color=\"red\">数据出错无法识别,请与管理员联系!<font></span>";
break;
case "1"://用户名已经注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">对不起!您注册的用户已经存在!</font></span>";
break;
case "2"://可以注册
document.getElementById("CheckLoginName").innerHTML = "<span style=\"color: #333; font-size: 10pt; font-famil: Arial, Helvetica, sans-serif\"><font color=\"red\">恭喜你可以正常注册!</font></span>";
break;
}
}
var XmlHttp;
if (window.ActiveXObject)
{
var arr=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for(var i=0;i<arr.length;i++)
{
try
{
XmlHttp=new ActiveXObject(arr[i]);
return XmlHttp;
}
catch(error)
{
}
}
}
else
{
try
{
XmlHttp=new XMLHttpRequest();
return XmlHttp;
}
catch(otherError)
{
}
}
} 浏览器兼容问题!干嘛用jquery的能解决的东西还要用js来做?而且你的ajax也最好平时封闭成一个js文件
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) {
try {
request = new ActiveXObject(versions[i]);
if(request) {
return request;
}
} catch(e) {}
}
}
return request;
}
xmlDom.Open("get",strURL , true);
xmlDom.onreadystatechange = fnRun1;
xmlDom.Send(xmlDom);
3句有错误,O跟S要小写!!!!!!!!!!