AJAX Formular Select

  • Moin zusammen,
    Ich bin mich grade einwenig in AJAX am üben und bin jetzt auf eine kleine Situation gestoßen und Frage mich wieso geht es nicht. Und zwar schreibe ich grade ein Formular mit Datenbankanbindung. Nun möchte ich aber das Daten aus der Datenbank nachgeladen werden sollen ohne eine externe/weitere Datei dazu benötigt wird. Also das sozusagen die $_GET Variable in der selben Datei übergeben wird ohne das diese sich im Script dupliziert. Dies war bisher mein Javascript, doch wie man unten sieht nutze ich xmlhttp.open womit mir die Datei im Script dupliziert wird das schaut das so wie im Bild im Anhang aus.
    [code=php]
    <script>
    function showTeam(str) {
    if (str == "") {
    document.getElementById("functeams").innerHTML = "";
    return;
    } else {
    if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
    } else {
    // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("functeams").innerHTML = this.responseText;
    }
    };
    xmlhttp.open("GET","admin.php?page=matchesfx-tournaments&sector=add&gameID="+str,true);
    xmlhttp.send();
    }
    }
    </script>
    [/php]
    Anhang: http://www.bilder-upload.eu/sh…ile=5d4647-1505404159.jpg

    Mit freundlichem Gruß
    OJay

    Einmal editiert, zuletzt von Ole ()

  • Hi,


    Ich würde das nicht per GET, sondern POST machen.
    Ich weiß nicht, was genau Dein admin.php-Script zurückgibt, aber grundsätzlich solltest Du ihm bei Formular-Übertragungen dies auch mitteilen:
    [code=php]
    xmlhttp.open( 'POST', 'admin.php?page=matchesfx-tournaments&sector=add&gameID=' + str, true );
    xmlhttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );
    xmlhttp.send();
    [/php]



    EDIT:
    [code=php]
    function showTeam( str ) {


    var oTargetElement = document.getElementById( 'functeams' );
    oTargetElement.innerHTML = '';


    if ( str == '' )
    return false;


    var sPostData = 'page=matchesfx-tournaments&sector=add&gameID=' + str;


    $oXmlHttp = new XMLHttpRequest();
    $oXmlHttp.addEventListener( 'load', function(e) {
    oTargetElement.innerHTML = this.responseText;
    });
       
    $oXmlHttp.open( 'POST', 'admin.php', true );
    $oXmlHttp.setRequestHeader( 'Content-TYpe', 'application/x-www-form-urlencoded' );
    $oXmlHttp.send( sPostData );


    }
    [/php]
    ungetestet, sollte aber als Beispiel zu gebrauchen sein.

    Einmal editiert, zuletzt von Arne Drews ()