work in Internet Explorer only ajax code

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • smartic
    New Member
    • May 2007
    • 150

    work in Internet Explorer only ajax code

    I'm having problem with this code why i don't know works fine in Internet Explorer only that is my code:
    [CODE=javascript]<script language="javas cript" type="text/javascript">
    function AJAX(num){
    XMLObject = false;
    if (window.XMLHttp Request) { // Mozilla, Safari,...
    XMLObject = new XMLHttpRequest( );
    if (XMLObject.over rideMimeType) {
    XMLObject.overr ideMimeType('te xt/xml');
    }
    } else if (window.ActiveX Object){ // IE
    try {
    XMLObject = new ActiveXObject(" Msxml2.XMLHTTP" );
    } catch (e) {
    try {
    XMLObject = new ActiveXObject(" Microsoft.XMLHT TP");
    }catch (e) {

    }
    }
    }
    if (!XMLObject) {
    alert('Cannot create XMLHTTP instance');
    return false;
    }
    XMLObject.open( "GET","XML.php" );
    XMLObject.onrea dystatechange=f unction(){
    if(XMLObject.re adyState==4 && XMLObject.statu s==200){
    var XMLFILE=XMLObje ct.responseXML;
    makeList(XMLFIL E,num);
    }
    }
    XMLObject.send( null);
    }
    function makeList(XMLDat a,num){
    var firstCategory=X MLData.document Element.firstCh ild;
    var AllMenus=firstC ategory.getElem entsByTagName(" Menu");
    var firstMenu=AllMe nus[num];
    for(i=0;i<docum ent.getElementB yId("Menu").opt ions.length;i++ ){
    document.getEle mentById("Menu" ).options[i]= null;
    }
    for(i=0;i<first Menu.childNodes .length;i++){
    document.getEle mentById("Menu" ).options[i]=new Option(firstMen u.childNodes[i].firstChild.nod eValue);
    }
    }
    function makeData(what){
    return what.selectedIn dex;
    }
    </script>[/CODE]
    Last edited by gits; Oct 7 '07, 12:02 PM. Reason: fix code tags
  • gits
    Recognized Expert Moderator Expert
    • May 2007
    • 5390

    #2
    hi ...

    what error do you get, if one? or could you please tell what is not working?

    kind regards

    Comment

    • smartic
      New Member
      • May 2007
      • 150

      #3
      that is the error i got :
      firstCategory.g etElementsByTag Name is not a function

      Comment

      • gits
        Recognized Expert Moderator Expert
        • May 2007
        • 5390

        #4
        hi ...

        could you post what you get from:

        [CODE=javascript]var firstCategory=X MLData.document Element.firstCh ild;[/CODE]
        may be there is a whitespace-problem in your xml-document? try to refer the first element another way ... through tagName or something like that.

        kind regards

        Comment

        • smartic
          New Member
          • May 2007
          • 150

          #5
          That is my HTML page:
          [HTML]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt d">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <script language="javas cript" type="text/javascript">
          function AJAX(num){
          XMLObject = false;
          if (window.XMLHttp Request) { // Mozilla, Safari,...
          XMLObject = new XMLHttpRequest( );
          if (XMLObject.over rideMimeType) {
          XMLObject.overr ideMimeType('te xt/xml');
          }
          } else if (window.ActiveX Object){ // IE
          try {
          XMLObject = new ActiveXObject(" Msxml2.XMLHTTP" );
          } catch (e) {
          try {
          XMLObject = new ActiveXObject(" Microsoft.XMLHT TP");
          }catch (e) {

          }
          }
          }
          if (!XMLObject) {
          alert('Cannot create XMLHTTP instance');
          return false;
          }
          XMLObject.open( "GET","XML.php" );
          XMLObject.onrea dystatechange=f unction(){
          if(XMLObject.re adyState==4 && XMLObject.statu s==200){
          var XMLFILE=XMLObje ct.responseXML;
          makeList(XMLFIL E,num);
          }
          }
          XMLObject.send( null);
          }
          function makeList(XMLDat a,num){
          var firstCategory=X MLData.document Element.firstCh ild;
          var AllMenus=firstC ategory.getElem entsByTagName(" Menu");
          var firstMenu=AllMe nus[num];
          for(i=0;i<docum ent.getElementB yId("Menu").opt ions.length;i++ ){
          document.getEle mentById("Menu" ).options[i]= null;
          }
          for(i=0;i<first Menu.childNodes .length;i++){
          document.getEle mentById("Menu" ).options[i]=new Option(firstMen u.childNodes[i].firstChild.nod eValue);
          }
          }
          function makeData(what){
          return what.selectedIn dex;
          }
          </script>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <title>Untitl ed Document</title>
          </head>
          <body>
          <form id="form1" name="form1" method="p ost" action="">
          <select name="Category" id="Category" onchange="AJAX( makeData(this)) ">
          <option>Camer as &amp; Photo</option>
          <option>Consume r Electronics</option>
          <option>Jewel ry &amp; Watches</option>
          <option>Real Estate</option>
          </select>
          <select name="Menu" id="Menu" onchange="">
          <option>- Choose -</option>
          </select>
          </form>
          </body>
          </html>[/HTML]
          and that is my XML File:

          [PHP]<?php
          header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
          header("Expires : Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
          header("content-type:text/xml");
          echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
          <Commercila>
          <CamerasAndPhot os>
          <Menu type='Bags, Cases &amp; Straps'>
          <subMenu>For Camcorders</subMenu>
          <subMenu>For Cameras</subMenu>
          </Menu>
          <Menu type='Binocular s &amp; Telescopes'>
          <subMenu>Binocu lars &amp; Monoculars</subMenu>
          <subMenu>Eyepie ces &amp; Telescope Accs.</subMenu>
          <subMenu>Telino culars &amp; Telescopesescop es</subMenu>
          </Menu>
          <Menu type='Camcorder Accessories'>
          <subMenu>Access ories</subMenu>
          <subMenu>Batter ies &amp; Chargers</subMenu>
          <subMenu>Blan k Tapes &amp; Memory</subMenu>
          <subMenu>Cables , Cords &amp; Connectors</subMenu>
          <subMenu>Lens es &amp; Accessories</subMenu>
          </Menu>
          <Menu type='Camcorder s'>
          <subMenu>8mm, Hi8, VHS</subMenu>
          <subMenu>Digita l 8</subMenu>
          <subMenu>DVD</subMenu>
          <subMenu>HDD</subMenu>
          <subMenu>HDV</subMenu>
          <subMenu>MicroM V</subMenu>
          <subMenu>MiniDV </subMenu>
          <subMenu>Othe r Digital Formats</subMenu>
          </Menu>
          <Menu type='Digital Camera Accessories'>
          <subMenu>Access ories</subMenu>
          <subMenu>Batter ies &amp; Chargers</subMenu>
          <subMenu>Cables , Cords &amp; Connectors</subMenu>
          <subMenu>Digita l Photo Frames</subMenu>
          <subMenu>Memo ry Cards</subMenu>
          <subMenu>Memo ry Card Adapters &amp; Readers</subMenu>
          </Menu>
          <Menu type='Digital Cameras'>
          <subMenu>Poin t &amp; Shoot</subMenu>
          <subMenu>Digita l SLR</subMenu>
          <subMenu>Specia lty Digital Cameras</subMenu>
          <subMenu>Part s &amp; Repair</subMenu>
          <subMenu>Othe r Digital Cameras</subMenu>
          </Menu>
          <Menu type='Film'>
          <subMenu>16MM </subMenu>
          <subMenu>35MM </subMenu>
          <subMenu>APS</subMenu>
          <subMenu>Medium , Large Format</subMenu>
          <subMenu>Polaro id &amp; Instant Print</subMenu>
          <subMenu>Proces sing &amp; Other</subMenu>
          </Menu>
          <Menu type='Film Camera Accessories'>
          <subMenu>Cables , Cords &amp; Connectors</subMenu>
          <subMenu>Came ra Body Accessories</subMenu>
          <subMenu>Remote s &amp; Wireless</subMenu>
          <subMenu>Othe r Film &amp; Movie Accessories</subMenu>
          </Menu>
          <Menu type='Film Cameras'>
          <subMenu>35mm Point &amp; Shoot</subMenu>
          <subMenu>35mm Rangefinder</subMenu>
          <subMenu>35mm SLR</subMenu>
          <subMenu>APS</subMenu>
          <subMenu>Camera s for Kids</subMenu>
          <subMenu>Dispos able</subMenu>
          <subMenu>Instan t Print, Polaroid</subMenu>
          <subMenu>Larg e Format</subMenu>
          <subMenu>Medi um Format</subMenu>
          <subMenu>Movi e</subMenu>
          <subMenu>Part s &amp; Repair</subMenu>
          <subMenu>Submin i, Disc, 110</subMenu>
          <subMenu>Underw ater</subMenu>
          <subMenu>Othe r Film Cameras</subMenu>
          </Menu>
          <Menu type='Film Processing &amp; Darkroom'>
          <subMenu>Chemis try</subMenu>
          <subMenu>Enlarg ement Equip. &amp; Supplies</subMenu>
          <subMenu>Finish ing Equipment</subMenu>
          <subMenu>Hardwa re, Lighting &amp; Setup</subMenu>
          <subMenu>Loup es &amp; Magnifiers</subMenu>
          <subMenu>Photog raphic Paper</subMenu>
          <subMenu>Proces sing Equipment</subMenu>
          <subMenu>Othe r Darkroom Equipment</subMenu>
          </Menu>
          <Menu type='Flashes &amp; Accessories'>
          <subMenu>Digita l Camera Flash Units</subMenu>
          <subMenu>Film Camera Flash Units</subMenu>
          <subMenu>Flas h Accessories</subMenu>
          </Menu>
          <Menu type='Lenses &amp; Filters'>
          <subMenu>Digita l Camera Lenses</subMenu>
          <subMenu>Film Camera Lenses</subMenu>
          <subMenu>Filt er Accessories</subMenu>
          <subMenu>Filter s</subMenu>
          <subMenu>Lens Accessories</subMenu>
          </Menu>
          <Menu type='Lighting &amp; Studio Equipment'>
          <subMenu>Backgr ound Material &amp; Equip</subMenu>
          <subMenu>Boom s, Stands &amp; Supports</subMenu>
          <subMenu>Contin uous Lighting</subMenu>
          <subMenu>Ligh t Controls &amp; Modifiers</subMenu>
          <subMenu>Ligh t Meters</subMenu>
          <subMenu>Portab le Flash/Strobe</subMenu>
          <subMenu>Prop s &amp; Stage Equipment</subMenu>
          <subMenu>Slaves </subMenu>
          <subMenu>Stud io Flash/Strobe</subMenu>
          <subMenu>Othe r Lighting &amp; Studio Items</subMenu>
          </Menu>
          <Menu type='Manuals, Guides &amp; Books'>
          <subMenu>How-To, Guides &amp; Techniques</subMenu>
          <subMenu>Came ra Manuals</subMenu>
          <subMenu>CheatS heets for Cameras</subMenu>
          <subMenu>Lens Manuals</subMenu>
          <subMenu>Othe r Manuals, Guides &amp; Books</subMenu>
          </Menu>
          <Menu type='Photo Albums &amp; Archive Items'>
          <subMenu>Archiv al &amp; Mounting Materials</subMenu>
          <subMenu>Phot o Albums</subMenu>
          <subMenu>Othe r Albums &amp; Archive Items</subMenu>
          </Menu>
          <Menu type='Printers, Scanners &amp; Supplies'>
          <subMenu>Phot o Printers</subMenu>
          <subMenu>Printi ng Software &amp; Supplies</subMenu>
          <subMenu>Scanne rs</subMenu>
          </Menu>
          <Menu type='Professio nal Video Equipment'>
          <subMenu>Blan k Tapes &amp; Media</subMenu>
          <subMenu>Cabl es &amp; Wires</subMenu>
          <subMenu>Camera s</subMenu>
          <subMenu>Editin g, Post-Production</subMenu>
          <subMenu>Manual s</subMenu>
          <subMenu>Monito rs</subMenu>
          <subMenu>Record ers &amp; Players</subMenu>
          <subMenu>Vide o Switchers, Routers</subMenu>
          <subMenu>Othe r</subMenu>
          </Menu>
          <Menu type='Projectio n Equipment'>
          <subMenu>Access ories</subMenu>
          <subMenu>Projec tors</subMenu>
          <subMenu>Screen s</subMenu>
          <subMenu>Othe r Projection Equipment</subMenu>
          </Menu>
          <Menu type='Stock Photography &amp; Footage'>
          </Menu>
          <Menu type='Tripods, Monopods'>
          <subMenu>Access ories</subMenu>
          <subMenu>Monopo ds</subMenu>
          <subMenu>Tripod s</subMenu>
          <subMenu>Othe r Tripod, Monopod Items</subMenu>
          </Menu>
          <Menu type='Vintage'>
          <subMenu>Access ories</subMenu>
          <subMenu>Camera s</subMenu>
          <subMenu>Projec tors</subMenu>
          <subMenu>Othe r Vintage Items</subMenu>
          </Menu>
          <Menu type='Wholesale Lots'>
          <subMenu>Camera s</subMenu>
          <subMenu>Genera l Accessories</subMenu>
          <subMenu>Vintag e</subMenu>
          <subMenu>Othe r</subMenu>
          </Menu>
          </CamerasAndPhoto s>
          </Commercila>";
          [/PHP]

          Please try to test my code and see the error

          Comment

          Working...