Ajax Es werden keine daten in das formular geschrieben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ajax Es werden keine daten in das formular geschrieben

    Ich habe ein feld mit ner Plz beim klick auf ein Button aoll in einer DB die passende Gemeinde gesucht werden und ins Formular eingetragen werden.

    PHP-Code:

    // Gemeindedaten holen und in Formular schreiben
    function getgemeinde(form){

        var 
    MYPLZ form.plz.value;
        
        var 
    xmlHttp;

        
    xmlHttp=GetXmlHttpObject()
        if (
    xmlHttp==null){
             
    alert ("Ihr Browser unterstützt kein AJAX")
             return
         }
        
        
        var 
    url="searchgemeinde.php"
        
    url=url+"&plz="+MYPLZ
        url
    =url+"&sid="+Math.random()
        
    xmlHttp.onreadystatechange=stateChanged 
        xmlHttp
    .open("GET",url,true)
        
    xmlHttp.send(null)    

        function 
    stateChanged() 
        {         
            
    // Antwort angekommen? 
             
    if (xmlHttp.readyState==|| xmlHttp.readyState=="complete") { 
        
                
    // Antwort akzeptabel? 
                
    if (xmlHttp.status == 200) { 
                
                    
    // Antwort speichern 
                      
    var gemeindeXML xmlHttp.respon************ML
                      
    // Über alle <land>-Tags im DOM-Baum iterieren 
                      
    var gdaten gemeindeXML.getElementsByTagName("ort"); 
          
                     for (
    0gdaten.lengthi++) { 
                        var 
    id             gdaten[i].getAttribute("id")[0].firstChild.nodeValue;   
                        var 
    plz         gdaten[i].getAttribute("plz")[0].firstChild.nodeValue;  
                        var 
    gemeindename gdaten[i].getAttribute("gemeinde")[0].firstChild.nodeValue;                    
                        
                        
    form.mygemeinde.value gemeindename;
                
                      } 
                
                
    // ENDE Antwort akzeptabel?
                
    }            
            
    // ENDE Antwort angekommen?                 
            
    }        
        }

        
        
    // Ajax-Anfrage-Objekt erzeugen 
        
    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;
        }


    PHP-Code:

     header
    ("Content-Type: text/xml; charset=utf-8"); 
     
      
      
    $gemeinden .= "<gemeinden>"
     
      
    // Request rückgabe  
      //$_REQUEST["plz"] ="97708";
      
    $plz $_REQUEST["plz"];
      
      
    // SQL-Abfrage 
      
    $query mysql_query("SELECT ID,PLZ,GEMEINDE,BUNDESLAND,KREIS FROM ".ORTE_TABLE." WHERE PLZ = ".$_REQUEST["plz"]." LIMIT 0,1");
     
      if(!
    $query) die(" ".__LINE__." <hr>".$query."<hr>".mysql_error()."<hr> ");
     
      
    // Daten aus der Datenbank lesen 
      
    while ($row mysql_fetch_array($query)) { 
        
    // als <land>-Element in den XML-Code schreiben 
        
    $eintrag "<ort>";
        
    $eintrag .= "<id>".$row["ID"]."</id>";
        
    $eintrag .= "<plz>".$row["PLZ"]."</plz>";
        
    $eintrag .= "<gemeinde>".utf8_encode($row["GEMEINDE"])."</gemeinde>";
        
    $eintrag .= "<bundesland>".utf8_encode($row["BUNDESLAND"])."</bundesland>";
        
    $eintrag .= "<kreis>".utf8_encode($row["KREIS"])."</kreis>";
        
    $eintrag .= "</ort>"
        
        
    $gemeinden .= $eintrag
      } 
     
      
    // Schließendes </laender>-Tag 
      
    $gemeinden .= "</gemeinden>"


      echo 
    $gemeinden
    Mfg Maffy
    in der ruhe liegt die kraft

  • #2
    kommen denn die daten der ajax-anfrage überhaupt an? du sollest schon ein genauere fehlerbeschreibung liefern, sonst müssen wir nämlich raten.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Er bringt die Meldung:
      Der angeforderte URL konnte auf dem Server nicht gefunden werden.

      Mfg Maffy
      in der ruhe liegt die kraft

      Kommentar


      • #4
        Hier war ein noch ein Tipp Fehler
        PHP-Code:
        url=url+"?plz="+MYPLZ 
        Hm, jetzt bringt er den Fehler:
        getAtribut ist null oder kein objekt

        Mfg Maffy
        in der ruhe liegt die kraft

        Kommentar


        • #5
          was soll denn die null da bezwecken?
          PHP-Code:
          getAttribute("id")[0
          btw: der ie6/7 hat probleme mit getAttribute, nimm statt dessen getAttributeNode

          peter

          EDIT:
          getAttribute-probleme in zusammenhang mit css
          Zuletzt geändert von Kropff; 23.03.2009, 18:44.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Hallo noch mal!
            Nach langem Kampf habe ich es hin bekommen.
            Jetz läuft alles gut. Hier ist noch mal die kpl. Funktion:


            Code:
            // Gemeindedaten holen und in Formular schreiben
            function getgemeinde(form){
            
                var MYPLZ = form.plz.value;
                
                var xmlHttp = GetXmlHttpObject();
            
                if (xmlHttp==null){
                     alert ("Ihr Browser unterstützt kein AJAX")
                     return
                 }
                	
                var url="searchcountry.php"
                url=url+"?plz="+MYPLZ
                url=url+"&sid="+Math.random()
                xmlHttp.onreadystatechange=stateChanged 
                xmlHttp.open("GET",url,true)
                xmlHttp.send(null)  
            	
                function stateChanged() 
                {         
                    // Antwort angekommen? 
                     if (xmlHttp.readyState == 4 || xmlHttp.readyState=="complete") { 
                
                        // Antwort akzeptabel? 
                        if (xmlHttp.status == 200) { 
             
              				// Antwort speichern 
                            var gemeindeXML = xmlHttp.respon************ML; 
            				
                            // Über alle <orte>-Tags im DOM-Baum iterieren 
                            var gdaten = gemeindeXML.getElementsByTagName("ort"); 
            
                            for (i = 0; i < gdaten.length; i++) {
            				 
            				 	id           = gdaten[i].getElementsByTagName("id")[0].firstChild.nodeValue;   
                                plz          = gdaten[i].getElementsByTagName("plz")[0].firstChild.nodeValue;  
                                gemeindename = gdaten[i].getElementsByTagName("gemeinde")[0].firstChild.nodeValue;
            
            					 document.getElementById("txtgemeinde").style.display = "block";
            					 document.getElementById("txtgemeinde").innerHTML = "Gemeinde Daten: "+id+" "+plz+" "+gemeindename+" "; 
            					 document.getElementById("txtgemeinde").innerHTML += "<a href=\""+url+"\"> XML anszeigen</a>";          
                             } 
                        
                        // ENDE Antwort akzeptabel?
                        }  else {
            				document.getElementById("txtgemeinde").style.display = "block"; 
            				document.getElementById("txtgemeinde").innerHTML= ""+xmlHttp.status+" "+xmlHttp.responseText+"";
            			}          
                    // ENDE Antwort angekommen?                 
                    }       
                }
            
                
              // Ajax-Anfrage-Objekt erzeugen 
              function GetXmlHttpObject(){
              // will store the reference to the XMLHttpRequest object
              var xmlHttp;
              // this should work for all browsers except IE6 and older
              try
              {
                // try to create XMLHttpRequest object
                xmlHttp = new XMLHttpRequest();
              }
              catch(e)
              {
                // assume IE6 or older
                var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                                'MSXML2.XMLHTTP.5.0',
                                                'MSXML2.XMLHTTP.4.0',
                                                'MSXML2.XMLHTTP.3.0',
                                                'MSXML2.XMLHTTP',
                                                'Microsoft.XMLHTTP');
                // try every prog id until one works
                for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
                {
                  try 
             
                  { 
                    // try to create XMLHttpRequest object
                    xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
                  } 
                  catch (e) {}
                }
              }
              // return the created object or display an error message
              if (!xmlHttp)
                alert("Error creating the XMLHttpRequest object.");
              else 
                return xmlHttp;
            	}
            }
            MFG Maffy
            in der ruhe liegt die kraft

            Kommentar

            Lädt...
            X