xmlHTTPRequest - mehrere ids - ungleiche daten

Diskutiere xmlHTTPRequest - mehrere ids - ungleiche daten im HTML / CSS / JScript / AJAX Forum; Hallo, Ich versuche mich mal so präzise wie möglich auszudrücken. Ich beschäftige mich jetzt schon seit einiger Zeit mit Javascript und PHP, um...

  1. Dorsch
    Dorsch Neues Mitglied
    Hallo,

    Ich versuche mich mal so präzise wie möglich auszudrücken.

    Ich beschäftige mich jetzt schon seit einiger Zeit mit Javascript und PHP, um letztlich kleine Webanwendungen zu programmieren.
    Vorkenntnisse habe ich mit Java erworben.

    Wie ich mich so in XMLhttpRequest eingelesen habe, musste ich feststellen, dass dieses Verfahren hauptsächllich eine Datenportion transportiert, es sei denn mehrere Daten für die gleiche ID.
    Meine Vorstellung allerdings wäre, wenn ich einen bestimmten Button (in html) drücke, dieser über PHP sich selbst ändert UND einen bestimmten Text (ebenfalls mit einer ID) ändert.

    Jetzt habe ich einfach für den Button eine Funktion geschrieben, die für den Button sowie für den Text Daten an PHP sendet und empfängt.
    Um gleichzeitig beide IDs mit ihren dazugehörigen Daten zu senden/empfangen, habe ich von XMLhttpRequest zwei Objekte erzeugt.
    Dies funktioniert auch einwandfrei:
    HTML:
        <script>
            function Start(butt,text){
                var xhttp = new XMLHttpRequest();
                var yhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function(){
                    if (this.readyState == 4 && this.status == 200){
                   
                       document.getElementById("many").innerHTML = xhttp.responseText;
                   
                                   
                                   
                    }
                }
                yhttp.onreadystatechange = function(){
                    if (this.readyState == 4 && this.status == 200){
                       document.getElementById("speak").innerHTML = yhttp.responseText;
                    }        
                }
                xhttp.open("GET", "testtest.php?p="+butt, true);
                xhttp.send();
                yhttp.open("GET", "testest.php?p="+text, true);
                yhttp.send();
            }
        </script>
    Im Hauptteil von der PHP-Seite ist eine if-Verzweigung, die erst xhttp zulässt und dann yhttp:
    PHP:
        $p = $_REQUEST["p"];
        $h = new Hallo();
     
        if ($p == "ok"){
            $h->sayChooses();    //Hier werden die Buttons geändert
        }else if($p == "ook"){
        $h->sayStart();              //Hier wird der Text geändert
        }
    Beim weiteren Überlegen und Ausprobieren habe ich feststellen müssen, dass wenn ich noch mehr IDs hätte, die Start()-Funktion mehr und mehr ausgedehnt würde und auf der PHP-Seite die If-Verzweigung komplexer wird.
    So habe ich also Überlegt, ob ich die Start()-Funktion nicht irgendwie automatisieren könnte, um das ganze nicht noch weiter ausdehnen zu müssen und ggf. die PHP-Seite in Grenzen halten kann.

    Dabei habe ich mir bis jetzt dieses ausgedacht:
    (Was aber nicht funktioniert)
    HTML:
    <script>
            function Start(butt,text){
                var xhttp = new XMLHttpRequest();
                var aktuelleId = null;          
                var timer = 0;
                var array = [butt, text];
           
                for(var i=2; timer < i; timer++){
                   xhttp.open("GET", "testest.php?p="+array[timer], true);
                   xhttp.send();
                   
               
                   if (timer == 0){
                       aktuelleId = "many";
                   }else if (timer == 1){
                       aktuelleId = "speak";
                   }

                   xhttp.onreadystatechange = function(){

                       if (this.readyState == 4 && this.status == 200){
                   
                           document.getElementById(aktuelleId).innerHTML = xhttp.responseText;
               
                               
                       }
                   }
                       

               }

           }
    Der Text wird korrekt verändert, aber die Button(s) verändern sich nicht.
    Wenn ihr meinen Fehler findet, wäre ich sehr dankbar.
    Auch ein einfacherer Weg wäre super, wenn es ihn gäbe. :)

    Übrigens habe ich auch was von JQuery gelesen, möchte aber ohne auskommen.
     
    Zuletzt bearbeitet: 5. Aug. 2017
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
Die Seite wird geladen...

xmlHTTPRequest - mehrere ids - ungleiche daten - Ähnliche Themen

Mehrere Textfelder mit ScrollBars - Größe der Felder
Mehrere Textfelder mit ScrollBars - Größe der Felder im Forum AWT, Swing, JavaFX & SWT
Mehrere Sockets
Mehrere Sockets im Forum Netzwerkprogrammierung
PrinterJob mit mehreren Seiten
PrinterJob mit mehreren Seiten im Forum AWT, Swing, JavaFX & SWT
Mehrere Klassen in ein TableView
Mehrere Klassen in ein TableView im Forum AWT, Swing, JavaFX & SWT
Listen - Mehrere Objekte
Listen - Mehrere Objekte im Forum Allgemeine Java-Themen
Thema: xmlHTTPRequest - mehrere ids - ungleiche daten