AJAX - formular Variable übergeben?

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

  • AJAX - formular Variable übergeben?

    erstmal hier der code von der haupt.php

    Code:
    <?
    echo"
    <script language='javascript' type='text/javascript'>
    
    var http_request = false;
    
    function doRequest(url) {
      http_request = false;
    
      if (window.XMLHttpRequest) {     
    	 http_request = new XMLHttpRequest(); 
        if (http_request.overrideMimeType) {
          //Das Ergebnis soll als XML-Dokument betrachtet werden.
          http_request.overrideMimeType('text/xml');     
        }
    
      } else if (window.ActiveXObject) { 
        try {
          http_request = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
          try {
            http_request = new ActiveXObject('Microsoft.XMLHTTP');
          } catch (e) {}
        }
      }
    
    
      if (!http_request) { 
        alert('Es kann kein Request Objekt erzeugt werden.'); 
        return false;
      }
      http_request.onreadystatechange = myHandler; 
      http_request.open('GET', url, true);
      http_request.send(null);
    }
    
    function myHandler() {
    
      if (http_request.readyState == 4) {
        // War die Anfrage erfolgreich / die URL erreichbar ?
        if (http_request.status == 200) {
    sendrequest();
    ergebnis();
    var response = http_request.responseText;
    alert(http_request.responseText); 
        } else {
    	   alert('Die URL konnte nicht geöffnet werden.');
        }
      }
    }
    
    function ergebnis()
    {
    ergebnisdiv= document.getElementById('ergebnisfeld')
    ergebnisdiv.innerHTML=http_request.responseText;
    }
    
    function sendrequest ()
    {
    var textfeldinhalt = document.getElementById('MeinTextfeld').value;url = 'hmm.php?beruf=' + escape(textfeldinhalt)
    }
    </script>
    
    <div id='ergebnisfeld'></div>
    
    <form>
    <div>
    <table align='center'>
    <td><input type='text' id='MeinTextfeld' name='beruf' value='Handwerker'></td>
    <td><img border='0' src='Archiv.PNG' name='lesen' onClick=doRequest('hmm.php'); return false;></td>
    </table>
    </div>
    </form>";
    ?>
    hmm.php

    Code:
    <?
    $beruf=$_POST['beruf'];
    $beruf2=$_GET['beruf'];
    
    echo"
    $beruf
    <br>
    $beruf2
    <br>
    test";
    ?>
    also beide funktionen werden aufgerufen in my handler. hmm.php wird auch aufgeklappt bzw. geladen.

    aber es wird unter den variablen ($beruf, $beruf2) nix ausgegeben, weil wohl nix an die hmm.php datei übergeben wird. wo liegt mein fehler?

  • #2
    Du brauchst Firefox, die Plugins Tamper Data und Firebug sowie eine Mütze Schlaf.

    Kommentar


    • #3
      du möchtest den "beruf" per GET übergeben....


      dein sendrequest(), der ja die url zusammenbaut, wird aber erst ausgeführt, wenn readystate 4 erreicht ist, also das ergebnis schon vorliegt...

      zum zeitpunkt von open wird lediglich hmm.php ohne parameter übergeben....

      deshalb gehts nicht...

      die url muss gebastelt werden, bevor du open aufrufst....
      wenn dein handler greift, ist bereits alles passiert, und $beruf war folglich leer....


      greetz, high
      Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
      When everything else fails, manipulate the data...
      Beschriftungen / Großformatdruck / Werbemittel

      Kommentar


      • #4
        hmm ok, also müßt ich meinen funktionaufruf für sendrequest (); über open einbauen!

        hab jetzt mehre dinge versucht, aber es is bis jetzt nix geworden.

        irgendwie stehe ich auf dem schlauch, wie wärs mit noch einem hinweis bzw. an welche stelle ich mein sendrequest (); verschieben soll *g*?

        aber die funktion ergebnis(); müßte richtig sein?! denn diese klappt ja ende nur die seite auf!

        oder is das auch falsch?

        Kommentar


        • #5
          so endlich klappts!

          Kommentar

          Lädt...
          X