在火狐下验证不了用户是否存在搞了半天好像就是没运行方法不知道那里有问题ie6测试没问题
<form name="Form1" method="post" action="unionreg.aspx?unionid=31388&amp;unionkey=" id="Form1" onSubmit="javascript:return CheckInput();">
<script language="javascript">
    var surl = escape(document.referrer);
    var a = location.href.indexOf("?");
    var otherkey;
    if(a>0)
    {
     otherkey = "&" + location.href.substring(a+1,location.href.length);
    }
    else
    {
     otherkey = "";
    }
    var url = "http://u1.kubao.com/countad.aspx?surl="+ surl +"&topurl=" + escape(location.href) + otherkey;
    url = "<IFRAME id='getCount' name='getCount' border='0' frameBorder='0' width='0' scrolling='no' height='0' src='" + url +"'></IFRAME>"    document.write(url);
    </script>
<table width="779" border="0" align="center" cellpadding="0" cellspacing="0">
    
    </table>
    <table width="207" height="330" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td nowrap class="kb_wd1">用户名:</td>
                <td><input name="Txt_UserName" type="text" maxlength="18" id="Txt_UserName" tabindex="1" onBlur="j_username()" /></td>
              </tr>
              <tr>
                <td colspan="2" class="kb_wd2"><span id="NameError" class="kb_wd2">※ 用户名只能是字母、数字、下划<br>
                  线 (_) 或其组合,并且以字母为开头<br>
                  长度为5~18个字符。</span></td>
              </tr>
              <tr>
                <td nowrap class="kb_wd1">登录密码:</td>
                <td><input name="Txt_Password" type="password" maxlength="12" id="Txt_Password" tabindex="2" onBlur="j_password()" /></td>
              </tr>
              <tr>
                <td colspan="2" class="kb_wd2"><span id="PwdError" class="kb_wd2">※ 密码只能是6~12位字母、数字或<br>
                  二者组合,区分大小写。</span></td>
              </tr>
              <tr>
                <td class="kb_wd1">确认密码:</td>
                <td><input name="Txt_Password_AG" type="password" maxlength="12" id="Txt_Password_AG" tabindex="3" onBlur="j_password1()" /></td>
              </tr>
              <tr>
                <td colspan="2"><span id="PwdError2"></span></td>
              </tr>
              <tr>
                <td class="kb_wd1">邮件地址:</td>
                <td><input name="Txt_Email" type="text" maxlength="30" id="Txt_Email" tabindex="4" onBlur="j_email()" /></td>
              </tr>
              <tr>
                <td colspan="2"><span id="EmailError"></span></td>
              </tr>
              <tr>
                <td colspan="2"><span id="AgreeError"></span></td>
              </tr>
              <tr>
                <td class="kb_wd1">性 别:</td>
                <td><table id="List_Sex" border="0">
                    <tr>
                      <td><input id="List_Sex_0" type="radio" name="List_Sex" value="True" tabindex="5" />
                          <label for="List_Sex_0">帅哥</label></td>
                      <td><input id="List_Sex_1" type="radio" name="List_Sex" value="False" checked="checked" tabindex="5" />
                          <label for="List_Sex_1">靓妹</label></td>
                    </tr>
                </table></td>
              </tr>
              <tr align="center">
                <td height="27" colspan="2" class="kb_wd2"><input id="CB_Agree" type="checkbox" name="CB_Agree" checked="checked" />
                  &nbsp;&nbsp;<a target="_blank" href="http://login.kubao.com/agreement.htm">我已阅读并同意酷宝使用协议</a></td>
              </tr>
              <tr align="center">
                <td colspan="2"><label>
                  <input type="submit" name="Submit" value="提交">
                </label></td>
              </tr>
            </table>
</form>
   <script src="http://login.kubao.com/js/guid.js"></script>
   <script language="javascript">
    var a = location.href.indexOf("?");
    var otherkey;
    if(a>0)
    {
     otherkey = location.href.substring(a+1,location.href.length);
    }
    else
    {
     otherkey = "";
    }
document.write(otherkey);
    //document.getElementById("divActiveDown").innerHTML = "<a href=\"http://union.kubao.com/downloadIM.aspx?" + otherkey + "\"><img src=\"images/ball.gif\" width=\"144\" height=\"152\" border=\"0\"></a>";
   </script>
   <script language="javascript">
<!--
   window.Form1.Txt_UserName.focus();
var xmlDom = false;
var arr_UserName = new Array();
var arr_BackInfo = new Array();
var canSubmit = false;
try
{
xmlDom = new ActiveXObject("Msxml2.XMLHTTP"); 

catch (E)
{
try
{
   xmlDom = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
  
}
}function j_password()
{
var password = document.getElementById("Txt_Password").value;
if (password.length < 6 || password.length > 12)
{
   document.getElementById("PwdError").innerHTML = "<font color=\"red\">密码长度不正确。<font>";
   canSubmit = false;
   return;
}if (document.getElementById("Txt_UserName").value == password)
{
   document.getElementById("PwdError").innerHTML = "<font color=\"red\">为了您的安全,用户名与密码不能一致,请使用新的密码<font>";
   canSubmit = false;
   return;
}var reg = "\\W";
if(password.match(reg))
{
   document.getElementById("PwdError").innerHTML = "<font color=\"red\">密码只能是英文或者数字!<font>";
   canSubmit = false;
   return;
}canSubmit = true;
document.getElementById("PwdError").innerHTML = "";
}function j_password1()
{
var password = document.getElementById("Txt_Password_AG").value;
if(password != document.getElementById("Txt_Password").value)
{
   document.getElementById("PwdError2").innerHTML = "<font color=\"red\">两次输入的密码不一致,请重新输入!<font>";
   document.getElementById("Txt_Password_AG").value = "";
   canSubmit = false;
   return;
}
document.getElementById("PwdError2").innerHTML = "";
canSubmit = true;
}

解决方案 »

  1.   


    function j_email()
    {
    var email = document.getElementById("Txt_Email").value;
    var reg = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
    if(!email.match(reg))
    {
       document.getElementById("EmailError").innerHTML = "<font color=\"red\">邮件地址无效!<font>";
       canSubmit = false;
       return;
    }document.getElementById("EmailError").innerHTML = "";
    canSubmit = true;
    }function j_submit()
    {
    //再调一次js判断,避免用户不输入密码和邮件提交不触发时间导致无效的注册请求
    //反正用户机器速度快 ~_~
    var submitOK = true;
    canSubmit = true;
    j_username();
    submitOK = submitOK & canSubmit;
    j_password();
    submitOK = submitOK & canSubmit;
    j_password1();
    submitOK = submitOK & canSubmit;
    j_email();
    submitOK = submitOK & canSubmit;checkAgreed();
    submitOK = submitOK & canSubmit;
      
    return submitOK;
    }function j_username()
    {
    document.getElementById("NameError").innerHTML = "";
    var userName = document.getElementById("Txt_UserName").value;
    var reg = "[^a-zA-Z_0-9]";
    var reg1 = "\\D";
    if(userName == "")
    {
       document.getElementById("NameError").innerHTML = "<font color=\"red\">用户名不能为空!<font><br>";
       canSubmit = false;
    }
    else if(userName.length < 5)
    {
       document.getElementById("NameError").innerHTML = "<font color=\"red\">你输入的用户名长度太短!长度必须为5~18位!<font><br>";
       canSubmit = false;
    }
    else 
    {
       if(!userName.substring(0,1).match(reg1))
       {
        document.getElementById("NameError").innerHTML = "<font color=\"red\">必须已字母开头!<font><br>";
        canSubmit = false;
       }
       else if(userName.match(reg))
       {
        document.getElementById("NameError").innerHTML = "<font color=\"red\">用户名只能是字母、数字、下划线!<font><br>";
        canSubmit = false;
       }
       else
       {
        if(typeof(xmlDom) != 'undefined')
        {
         var isChecked = false;
         //先检测是否用户已经查询过用户是否存在
         for(var i=0;i<arr_UserName.length;i++)
         {
          if(document.getElementById("Txt_UserName").value == arr_UserName[i])
          {
           switch (arr_BackInfo[i])
           {
            case "0":
             document.getElementById("NameError").innerHTML = "<font color=\"red\">该用户名不符合注册规则,您可以尝试注册!<font><br>";
             canSubmit = false;
             break;
            case "1":
             document.getElementById("NameError").innerHTML = "<font color=\"red\">对不起,您注册的用户名已经存在!<font><br>";
             canSubmit = false;
             break;
            case "2":
             document.getElementById("NameError").innerHTML = "<font color=\"red\">恭喜您,该用户名无人使用!<font><br>";
             canSubmit = true;
             break;
           }
           isChecked = true;
           break;
          }
         }
        
         if(!isChecked)
         {
          checkname(document.getElementById("Txt_UserName").value);
         }
        }
       }
    }
    }function checkAgreed()

    document.getElementById("AgreeError").innerHTML = "";
    if(document.getElementById("CB_Agree").checked.toString().toLowerCase()=="false")
    {
       document.getElementById("AgreeError").innerHTML = "<font color=\"red\">您接受酷宝使用协议后才能继续注册。<font>";
       canSubmit = false;
       return;
    }
    canSubmit = true;
    }function checkname(name)
    {
    var d = new Date();
    var strURL = "checkUserName.aspx?username=" + name + "&guid=" + d.getTime();
    xmlDom.Open("get",strURL , true);
    xmlDom.onreadystatechange = fnRun;
    xmlDom.Send(xmlDom);
    document.getElementById("NameError").innerHTML = "<font color=\"red\">正在检测用户名是否重复...您可以尝试注册!<font><br>";
    //canSubmit = true;  
    }function fnRun()
    {
    if (xmlDom.readyState == 4 && xmlDom.status == 200)
    {
       var str = xmlDom.responseText;
      
       //保存已经查询过的用户名,下次直接返回
       arr_UserName[arr_UserName.length] = document.getElementById("Txt_UserName").value;
       arr_BackInfo[arr_BackInfo.length] = str;
      
       switch (str)
       {
        case "0":
         document.getElementById("NameError").innerHTML = "<font color=\"red\">该用户名不符合注册规则,您可以尝试注册!<font><br>";
         canSubmit = false;
         break;
        case "1":
         document.getElementById("NameError").innerHTML = "<font color=\"red\">对不起,您注册的用户名已经存在!<font><br>";
         canSubmit = false;
         break;
        case "2":
         document.getElementById("NameError").innerHTML = "<font color=\"red\">恭喜您,该用户名无人使用!<font><br>";
         canSubmit = true;
         break;
       }
    }        
    }
    function CheckInput()
       {   
        //然后再依据各项收入来判断是否有错误
        //document.getElementById("Reguser1_Lab_Info").innerHTML = "";
        if (!j_submit())
        {
         alert("对不起,由于您的注册信息有误,您还不能提交。\r\n请根据页面上的错误提示,检查您的注册信息。");
         //document.getElementById("Reguser1_Lab_Info").innerHTML = "对不起,由于您的注册信息有误,您还不能提交。请根据页面上的错误提示,检查您的注册信息。";
         return false;
        }
        return true;
       }
    function ClearCache()
    {
    arr_UserName = new Array();
    arr_BackInfo = new Array();
    }
    //-->
       </script>
    接上面太长发不了
      

  2.   

    ActiveXObject这么明显的错误,楼主没有看出来???