Hi I have written a PHP & ajax script which dynamically select a dependent dropdown select box. The script is running perfectly in Firefox but not in Internet Explorer & Safari. I have to run the script in all the browser perfectly. If there is any error in my script,please help me to solve it out. <select name="category" size="1" class="body-text-grey" onchange="showDivision(this.value)"> <option selected="selected" value="blank">Choose a Category</option> <?php $res=mysql_query("select * from mbehub_categories where parent_id='0' order by id") or die (mysql_error()); while ($rw=mysql_fetch_array($res)) { ?> <option value="<?php echo $rw['id'];?>"><?php echo $rw['name'];?></option> <?php } ?> </select> <tr> <td height="22" align="left" valign="top" class="body-text-grey-2">Primary Area of Interest </td> <td height="22" colspan="2" align="left" valign="top"> <select name="division" size="1" class="body-text-grey" id="txtDivision"> <option selected="selected">Select Area of Interest</option> </select> </td> </tr> HTML: And the Ajax is : // JavaScript Document var xmlHttp;function showDivision(str) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } var url="division.php"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); }function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtDivision").innerHTML=xmlHttp.responseText; } }function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } Code (markup):
First line, missing ID: <select name="category" size="1" class="body-text-grey" onchange="showDivision(this.value)"> <select name="category" size="1" class="body-text-grey" onchange="showDivision(this.value)" id="category"> // this refers to an ID, not a name?