关于一个Ajax的bug

今天做了一个Ajax,发现效果一直没有,弄了半天,才发现是命名的问题,这里分享一下!
 <script type="text/javascript">
    var xmlHttp;
    function createXMLHttpRequest()
    
{
      
if(window.XMLHttpRequest)
            
{
                
return new XMLHttpRequest();
            }

            
else if (window.ActiveXObject)
            
{
                request 
= new ActiveXObject("Microsoft.XMLHTTP");
                
                
if (!request)
                
{
                    request 
= new ActiveXObject("Msxml2.XMLHTTP");
                }

                
                
return request;
            }

    }
 
    
    function check()
    
{
      xmlHttp
=createXMLHttpRequest();
      var checkText
=document.getElementById('userName').value;
      var url
="vldUser.aspx?reg="+checkText;
      xmlHttp.open(
"GET",url,true);
      xmlHttp.onreadystatechange
=handlestatechange;
      xmlHttp.send(
null); 
    }

    
    function handlestatechange()
    
{
      
if(xmlHttp.readystate==4)
      
{
        
if(xmlHttp.Status==200)
        
{
           var Message
=xmlHttp.responseText;
           alert(Message);
        }

      }

    }

    
</script>

页面调用部分
 <input id="userName" type="text" onblur="check();" runat="server" style="width: 100px"  />

本来是很好执行的一个代码,可是就是运行不了,后来无意中发现这个js代码中的check函数和页面的一个文本框的id相同
<asp:TextBox ID="check" runat="server" Width="100px"></asp:TextBox>
然后我就把这个id改了一下
<asp:TextBox ID="checkUser" runat="server" Width="100px"></asp:TextBox>
这样一运行就好了
呵呵,或许这是个小的bug吧!以后注意一下这方面的命名就可以了!
posted on 2008-07-09 13:16  小顾问  阅读(245)  评论(0编辑  收藏  举报