Peter
Peter

Reputation: 135

PHP - AJAX and MySQL

This is my code:

<?php

$q=$_GET["q"];

require("../db.php");

$res_prop_name = mysql_query("select * from property where prop_short='$q'");

$row_prop_name = mysql_fetch_assoc($res_prop_name);

echo $row_prop_name['prop_name'];

?>

<script type="text/javascript">

function showProperty(str)    
{

if (str=="")  
{

      document.getElementById("prop_name").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("prop_name").innerHTML=xmlhttp.responseText;    
    }

}

xmlhttp.open("GET","ajax/get-property-name.php?q="+str,true);

xmlhttp.send();

}

</script>

<select id="prop_short" name="prop_short" onchange="showProperty(this.value)">

<option value="">Select a property</option>

<option value="Property2">Property1</option>

<option value="Property2">Property2</option>

</select>

<input type="text" id="prop_name" name="prop_name" onChange="showProperty(this.value)"> 

The answer to my question must be very simple however I just can't make it work.

I understand that in the ajax script the innerHTML feeds the text into a div that has the id prop_name for example. I tried it and it worked. But how can I feed the returned text into a input type="text" field? I've tried innerText instead of HTML but it doesnt work.

Upvotes: 1

Views: 166

Answers (1)

Alfabravo
Alfabravo

Reputation: 7569

Putting the comment as an answer: For input elements it's document.getElementById("xxx").value instead of .innerHTML.

Upvotes: 1

Related Questions