一个简单JS的注册 火狐 为什么没效果。

紫金包子 2011-12-19 05:02:11
//创建请求对象
var xmlhttp;
if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
// JavaScript Document
function $(element){
return document.getElementById(element);
}
function InitAjax(){
var ajax = false;
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined')
{
ajax = new XMLHttpRequest();
}
return ajax;
}
/注册用户名文本框失去焦点,AJAX验证事件
function txtUserNameBlur() {

var varName = document.getElementById("txtUserName").value;

var Reg = "^[A-Za-z0-9]{6,12}$";
var arrayReg = varName.match(Reg)

//判断用户名是否为空
if (varName == "") {
document.getElementById("regUserNameSpan").style.color = "Red";
document.getElementById("regUserNameSpan").innerText = "Please fill in user account!";
}
else {
if (arrayReg == null) {
document.getElementById("regUserNameSpan").style.color = "Red";
document.getElementById("regUserNameSpan").innerText = "User Account 6-12 numbers and letters case!";
}
else {

document.getElementById("regUserNameSpan").innerText = "";
document.getElementById("regUserNameImg").style.display = "block";

//POST传值,Type代表传递类型,在请求页面,通过判断传递类型,从而执行不同的方法
var varData = "RegName=" + encodeURI(varName) + "&Type=RegUserName";

xmlhttp.open("POST", "AjaxRequest/AjaxRequestPage.aspx",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(varData);
xmlhttp.onreadystatechange = txtUserNameBlurCallBack;

}
}
}

//注册用户名文本框失去焦点,AJAX验证事件回调函数
function txtUserNameBlurCallBack() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementById("regUserNameImg").style.display = "none";
if (xmlhttp.responseText == "1") {
document.getElementById("regUserNameSpan").style.color = "Red";
document.getElementById("regUserNameSpan").innerText = "The user name already exists, please re-fill!";
}
else {
document.getElementById("regUserNameSpan").style.color = "Green";
document.getElementById("regUserNameSpan").innerText = "The user name can be used!";
}
}
}
}

//用户密码验证
function txtUserPwdBlur() {

var varPwd = document.getElementById("txtUserPwd").value;

var Reg = "^[A-Za-z0-9]{6,12}$";
var arrayReg = varPwd.match(Reg)

if (varPwd == "") {
document.getElementById("regUserPwd").style.color = "Red";
document.getElementById("regUserPwd").innerText = "Please fill out the user password!";
}
else {
if (arrayReg == null) {
document.getElementById("regUserPwd").style.color = "Red";
document.getElementById("regUserPwd").innerText = "Password composed of letters and numbers 0-9 6-12 !";
}
else {
document.getElementById("regUserPwd").style.color = "Green";
document.getElementById("regUserPwd").innerText = "Fill in the correct user password!";
}
}
}

//用户重复密码验证
function txtUserAgainPwdBlur() {

var varPwd = document.getElementById("txtUserPwd").value;
var varAgainPwd = document.getElementById("txtUserAgainPwd").value;
var Reg = "^[A-Za-z0-9]{6,12}$";
var arrayReg = varAgainPwd.match(Reg)

if (varAgainPwd == "") {
document.getElementById("regUserAgainPwd").style.color = "Red";
document.getElementById("regUserAgainPwd").innerText = "Please fill in the password again!";
}
else {
if (arrayReg == null || varPwd != varAgainPwd) {
document.getElementById("regUserAgainPwd").style.color = "Red";
document.getElementById("regUserAgainPwd").innerText = "Fill is not the same password twice!";
}
else {
document.getElementById("regUserAgainPwd").style.color = "Green";
document.getElementById("regUserAgainPwd").innerText = "Fill in the correct password, thank you!";
}
}
}

//用户手机号码验证
function txtphoneBlur() {

var varPhone = document.getElementById("txtPhone").value;
var Regphone = "\d[11]";
var arrayRegRegphone = varPhone.match(Regphone)

if (varPhone == "") {
document.getElementById("regPhone").style.color = "Red";
document.getElementById("regPhone").innerText = "Please fill out the contact 11 real numbers";
}
// else {
// if (arrayRegRegphone.length != "11") {
// document.getElementById("regPhone").style.color = "Red";
// document.getElementById("regPhone").innerText = "用户号码11位填写";
// }
else {
document.getElementById("regPhone").style.color = "Green";
document.getElementById("regPhone").innerText = "Fill in the correct, thank you!";
//}
}
}


//用户邮件验证
function txtEmailBlur() {

var varEmail = document.getElementById("txtemail").value;
var RegEmail =/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

var arrayRegEmail = varEmail.match(RegEmail);

if (varEmail == "")
{
document.getElementById("regemail").style.color = "Red";
document.getElementById("regemail").innerText = "Please fill in Email!";
}
else {

if(arrayRegEmail==null)
{

document.getElementById("regemail").style.color = "Red";
document.getElementById("regemail").innerText = "Please fill in the correct Email!";

}
else
{

document.getElementById("regemail").innerText = "";
document.getElementById("regemaliImg").style.display = "block";

//POST传值,Type代表传递类型,在请求页面,通过判断传递类型,从而执行不同的方法
var varData = "email=" + encodeURI(varEmail) + "&type=RegUseremail";
xmlhttp.open("POST", "AjaxRequest/AjaxPage.aspx",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlhttp.send(varData);
xmlhttp.onreadystatechange = txtEmailBlurCallBack;
}

}
}

//email文本框失去焦点,AJAX验证事件回调函数
function txtEmailBlurCallBack() {

if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {

document.getElementById("regemaliImg").style.display = "none";
if (xmlhttp.responseText == "1") {
document.getElementById("regemail").style.color = "Red";
document.getElementById("regemail").innerText = "You fill in the Email already exists!";
}
else {
document.getElementById("regemail").style.color = "Green";
document.getElementById("regemail").innerText = "You can use this Email!";

}
}
}
}



//验证码
function txtUserCodeBlur() {

var varPwd = document.getElementById("txtcode").value;
var a=document.cookie.split('CheckCode=');
var b=a[1].split(';');
if (varPwd == "") {
document.getElementById("regcode").style.color = "Red";
document.getElementById("regcode").innerText = "Please fill out the verification code!";
}
else if (varPwd != b){
document.getElementById("regcode").style.color = "Red";
document.getElementById("regcode").innerText = "Verification code error, case sensitive!";
}

else {
document.getElementById("regcode").style.color = "Green";
document.getElementById("regcode").innerText = "Fill in the correct!";
}
}



//返回按钮点击事件
function btnBackClick() {
window.location = "Index.aspx";
}

//注册验证功能
function btnRegClick() {

//根据颜色判断是否验证成功
// var colorUserName = document.getElementById("regUserNameSpan").style.color;
var colorUserPwd = document.getElementById("regUserPwd").style.color;
var colorUserAgainPwd = document.getElementById("regUserAgainPwd").style.color;
//var colorUserRealName = document.getElementById("regUserRealName").style.color;

//var colorUserPhone = document.getElementById("regPhone").style.color;
//var colorUserQQ = document.getElementById("regQQ").style.color;
var colorUserEmail = document.getElementById("regemail").style.color;
//var colorUserquestion = document.getElementById("regquestion").style.color;
// var colorUsereanswer = document.getElementById("reganswer").style.color;
var colorcode = document.getElementById("regcode").style.color;


if (colorUserPwd != "green") {
txtUserPwdBlur();
return false;
}
if (colorUserAgainPwd != "green") {
txtUserAgainPwdBlur();
return false;
}

if (colorUserEmail != "green") {
txtEmailBlur();
return false;
}
if (colorcode != "green") {
txtUserCodeBlur();
return false;
}

return true;
}
...全文
242 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chate 2012-04-06
  • 打赏
  • 举报
回复
楼主查一下html5的规范看看
asdfgh12345asd 2012-04-06
  • 打赏
  • 举报
回复
建议还是用ajax吧,这个简单明了
我爱小土豆 2012-04-02
  • 打赏
  • 举报
回复
代码太长了,建议把不相关的东西去掉。用jquery这个很好写的,代码少功能强大
Itfemg 2012-04-01
  • 打赏
  • 举报
回复
楼主不能把代码格式化一下么。 用火狐自带的web控制台现看看报什么错
Acesidonu 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
建议直接用jquery的 ajax吧
[/Quote]
++
代码太长
ad77983 2012-04-01
  • 打赏
  • 举报
回复
火狐中JS不支持innerText,只能用innerHTML
p2227 2011-12-19
  • 打赏
  • 举报
回复
建议直接用jquery的 ajax吧

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧