none
帮我看看为什么AJAX一直只显示检查中 RRS feed

  • 问题

  • 这是
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="regjs.aspx.cs" Inherits="regjs" %>
    
    <!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">
        <title>无标题页</title>
        <script src="JS/reg.js" language="javascript" type="text/javascript"></script>
    </head>
    <body>
        <form id="form1" runat="server">
            <table>
                <tr>
                    <td>
                       用户名<input type="text" id="txtname" onfocus="onFocus(this,1)" onblur="onBlur(this,1)"/>
                    </td>
                    <td>
                        <span id="nameshow"></span>
                    </td>
                </tr>
                <tr>
                    <td>
                        密&nbsp;&nbsp;&nbsp; 码<input id="txtpwd" type="text" onfocus="onFocus(this,2)" onblur="onBlur(this,2)"/>
                    </td>
                    <td>
                        <span id="pwdshow"></span>
                    </td>
                </tr>
                <tr>
                    <td>
                        确认密码<input id="txtrepwd" type="text" onfocus="onFocus(this,3)" onblur="onBlur(this,3)"/>
                    </td>
                    <td>
                        <span id="repwd"></span>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" id="Sumbit" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
    </html>
    下面是JS代码
    var cansumbit=false;
    var namevalue=false;
    var pwdvalue=false;
    var repwdvalue=false;
    
    function onFocus(obj,num)
    {
             var name=document.getElementById("nameshow");
        
             var pwd=document.getElementById("pwdshow");
       
             var repwd=document.getElementById("repwd");
      
        if(num==1 && cansumbit==false && namevalue==false)
        {
            name.innerHTML="<font>输入用户名</font>";
        }
        if(num==2 && cansumbit==false && pwdvalue==false)
        {
             pwd.innerHTML="<font>输入密码</font>";
        }
        if(num==3 && cansumbit==false && repwdvalue==false)
        {
              repwd.innerHTML="<font>再次输入密码</font>";
        }
    }
    
    function onBlur(obj,num)
    {
        if(obj.id=="txtname")
        {
            checkname(obj.value);    
        }
        if(obj.id=="txtpwd")
        {
            checkpwd(obj.value);
        }
        if(obj.id=="txtrepwd")
        {
            checkrepwd(obj.value);
        }
    }
    
     function createXMLHTTP()
            {
                if(window.XMLHttpRequest)
                {
                    xmlHttp=new XMLHttpRequest();//mozilla浏览器
                }
                else if(window.ActiveXObject)
                {
                    try
                    {
                        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
                    }
                    catch(e)
                    {}
                    try
                    {
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
                    }
                    catch(e)
                    {}
                    if(!xmlHttp)
                    {
                        window.alert("不能创建XMLHttpRequest对象实例!");
                        return false;
                    }
                }
            }
    
    function checkname(v)
    {
        namevalue=false;
        
        if(v.length==0)
        {
            var name=document.getElementById("nameshow");
            name.innerHTML="<font>用户名格式不正确</font>";
            namevalue=false;
            return;
        }
        if(v.length<6 || v.length>16)
        {
            var name=document.getElementById("nameshow");
            name.innerHTML="<font>用户名由6~16位的数字,字母组成</font>";
            namevalue=false;
            return;
        }
        else
        {
            var tmpFlag = true;
    		var myReg = /^[_a-z0-9A-Z]+$/;
    		if( !myReg.test(v))
    		{
    		    var name=document.getElementById("nameshow");
                name.innerHTML="<font>格式不正确</font>";
                namevalue=false;
                return;
    		}
    		else
    		{
    		    var name=document.getElementById("nameshow");
                name.innerHTML="";
                namevalue=false;
                createXMLHTTP();
                var url="Check1.aspx?uid="+v;
    	        	xmlHttp.open("get",url,true);
    		        xmlHttp.onreadystatechange = chk_user;	
    		        xmlHttp.send(null);  
    		}
        }
              
    }
    function checkpwd(v)
    {
        
    }
    function checkrepwd(v)
    {
        
    }
    
    function chk_user()
            {
    	        if ( xmlHttp.readyState == 4 )
    	        {
    		        if( xmlHttp.status==200 )
    		        {
    		        var xx=xmlHttp.responseText ;
    		            if( xx == "true" )
    			        {			
    				        var name=document.getElementById("nameshow");
    				        name.innerHTML = '<img src="UpLoads/20091013095721258.jpg" width="12" height="12" border="0" />';
    				        namevalue=true;
    			        }
    			        else if(xx=="false")
    			        {
    			            var name=document.getElementById("nameshow");
    				        name.innerHTML = '<span><img src="images/err.gif" width="12" height="12" border="0" /> 用户名已被占用,请更换</span>';
    				        namevalue = false;
    			        }	
    		        }
    	        }
    	        else
    	        {
    	            var name=document.getElementById("nameshow");
    		        name.innerHTML = '<font color="#999999">检查中...</font>';			
    	        }
            }
    不知道为什么一直就显示检查中,请高手指教!!!!
    2009年10月15日 6:11

答案

  • Check1.aspx
    ----------------------------------------------
    <%@ Page Language="C#" AutoEventWireup="true"%>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("true");
            Response.End();
        }
    </script>


    知识改变命运,奋斗成就人生!
    • 已标记为答案 KeFang Chen 2009年10月16日 2:02
    2009年10月15日 10:31
    版主
  • using System;<
    br
     />
    using System.Collections;<
    br
     />
    using System.Configuration;<
    br
     />
    using System.Data;<
    br
     />
    //using System.Linq;<
    br
     />
    using System.Web;<
    br
     />
    using System.Web.Security;<
    br
     />
    using System.Web.UI;<
    br
     />
    using System.Web.UI.HtmlControls;<
    br
     />
    using System.Web.UI.WebControls;<
    br
     />
    using System.Web.UI.WebControls.WebParts;<
    br
     />
    //using System.Xml.Linq;<
    br
     />
    using System.Data.SqlClient;<
    br
     />
    <
    br
     />
    <
    br
     />
    <
    br
     />
    public partial class Check1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            check();
        }
        protected bool check()
        {
            Boolean a = false; ;
            SqlConnection con = Getcon.Createcon();
            con.Open();
            string id = Request.Params["uid"];
            string sql = "select count(*) from Lb_Login where UserName='" + id + "'";
            int i = Getcon.checkname(sql, con);
            if (i > 0)
            {
                a = true;
                return a;
            }
            else 
            {
                return a; 
            }
        }
    }
    我是这么写的应该怎么改
    
    Response.Write(check());啊

    【孟子E章】
    • 已标记为答案 KeFang Chen 2009年10月16日 2:02
    2009年10月15日 15:31
    版主

全部回复

  • Check1.aspx里写:Response.ClearConntent();Response.Write("true");Response.End();
    【孟子E章】
    2009年10月15日 6:29
    版主
  • using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    //using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    //using System.Xml.Linq;
    using System.Data.SqlClient;



    public partial class Check1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { check(); } protected bool check() { Boolean a = false; ; SqlConnection con = Getcon.Createcon(); con.Open(); string id = Request.Params["uid"]; string sql = "select count(*) from Lb_Login where UserName='" + id + "'"; int i = Getcon.checkname(sql, con); if (i > 0) { a = true; return a; } else { return a; } } } 我是这么写的应该怎么改
    2009年10月15日 9:31

  •     protected void Page_Load(object sender, EventArgs e)
        {
         Response.ClearConntent();
    Response.Write( check().ToString());
    Response.End();
     
        }
        protected bool check()
        {
            Boolean a = false; ;
            SqlConnection con = Getcon.Createcon();
            con.Open();
            string id = Request.Params["uid"];
            string sql = "select count(*) from Lb_Login where UserName='" + id + "'";
            int i = Getcon.checkname(sql, con);
            if (i > 0)
            {
                a = true;
                return a;
            }
            else
            {
                return a;
            }
        }
    2009年10月15日 9:44
  • 还是不行啊~~一直还是检查中..搞不懂为什么了
    2009年10月15日 10:16
  • Check1.aspx
    ----------------------------------------------
    <%@ Page Language="C#" AutoEventWireup="true"%>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("true");
            Response.End();
        }
    </script>


    知识改变命运,奋斗成就人生!
    • 已标记为答案 KeFang Chen 2009年10月16日 2:02
    2009年10月15日 10:31
    版主
  • 谢谢,成功了。
    2009年10月15日 10:41
  • 随便问一下啊,Sumbit触发后提交到数据库的事件怎么写
    2009年10月15日 10:44
  • using System;<
    br
     />
    using System.Collections;<
    br
     />
    using System.Configuration;<
    br
     />
    using System.Data;<
    br
     />
    //using System.Linq;<
    br
     />
    using System.Web;<
    br
     />
    using System.Web.Security;<
    br
     />
    using System.Web.UI;<
    br
     />
    using System.Web.UI.HtmlControls;<
    br
     />
    using System.Web.UI.WebControls;<
    br
     />
    using System.Web.UI.WebControls.WebParts;<
    br
     />
    //using System.Xml.Linq;<
    br
     />
    using System.Data.SqlClient;<
    br
     />
    <
    br
     />
    <
    br
     />
    <
    br
     />
    public partial class Check1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            check();
        }
        protected bool check()
        {
            Boolean a = false; ;
            SqlConnection con = Getcon.Createcon();
            con.Open();
            string id = Request.Params["uid"];
            string sql = "select count(*) from Lb_Login where UserName='" + id + "'";
            int i = Getcon.checkname(sql, con);
            if (i > 0)
            {
                a = true;
                return a;
            }
            else 
            {
                return a; 
            }
        }
    }
    我是这么写的应该怎么改
    
    Response.Write(check());啊

    【孟子E章】
    • 已标记为答案 KeFang Chen 2009年10月16日 2:02
    2009年10月15日 15:31
    版主