Semeena Kabeer
Semeena Kabeer

Reputation: 149

Ajax function is not working

I need to display a name in the textbox with id = txtName using an ajax function, but it won't work. The following is my ajax function:

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();
}

Upvotes: 2

Views: 214

Answers (2)

Ck Nishad
Ck Nishad

Reputation: 21

Try using jquery , why still using the old fashioned ajax

Upvotes: 2

pckabeer
pckabeer

Reputation: 694

You have to chnage the innerHTML to value, since the former will be changing the value of the element having the id "txtName".

Hope this helps.

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();
}

Upvotes: 3

Related Questions