2012-07-25 129 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