2012-07-25 115 views
2

我需要在使用ajax函数的id = txtName的文本框中显示一个名称,但它不起作用。以下是我的AJAX功能:Ajax功能不起作用

function showName(str) { 
    if (str.length == 0) { 
     document.getElementById("txtName").innerHTML = ""; 
     return; 
    } 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("txtName").innerHTML = xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET", "getname.php?q="+str, true); 
    xmlhttp.send(); 
} 

回答

3

你要的innerHTML chnage价值,因为前者会改变ID为“txtName的”元素的值。

希望这会有所帮助。

function showName(str) 
{ 
if (str.length==0) 
    { 
    document.getElementById("txtName").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("txtName").value=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","getname.php?q="+str,true); 
xmlhttp.send(); 
} 
+1

哎呀我错过了价值。非常感谢你的帮助 – 2012-07-25 19:39:07

2

尝试使用jQuery,为什么还在使用老式的AJAX