PHP,Ajax & Browser Problem

Discussion in 'PHP' started by yoursanjay, Mar 31, 2009.

  1. #1
    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):

     
    yoursanjay, Mar 31, 2009 IP
  2. GreatMetro

    GreatMetro Peon

    Messages:
    117
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #2
    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?
     
    GreatMetro, Apr 3, 2009 IP