Ankündigung

Einklappen
Keine Ankündigung bisher.

Mit Ajax / jQuery ein PopUp-Fenster öffnen und mit Daten befüllen

Einklappen

Neue Werbung 2019

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

  • Mit Ajax / jQuery ein PopUp-Fenster öffnen und mit Daten befüllen

    Hallo Leute,

    ich hätte da mal wieder ein Problem.
    In PHP bin ich ganz fit, in HTML ein Semi-Blutiger-Anfänger kurz vor dem Aufstieg zum Anfänger.
    In JS (und den ganzen Derivaten davon) bin ich sozusagen ein 'Einzeller' der mit Mühe und Not ein Alert-Fenster auf den Bildschirm zaubert.
    Darum die Bitte um Nachsicht wenn es geht.

    Ich habe eine leere JS-Datei in mein HTML-Projekt referenziert (<script src=..>..) und dort erst einmal eine testfunction mit einem 'alert' angelegt.
    Diese Funktion wird von einem DblClick-Event in einem Option-Element einer Select-Box-Liste aufgerufen (<option ondblclick="testFunction(<?php echo $value; ?>);" value=<?php echo $value; ?>...>..)

    Das funktioniert auch so erst einmal mit einem einfachen Alert(value) im der Testfunktion welche sich in der eingebundenen JS-Datei befindet.

    So, jetzt will ich aber natürlich mehr und da komme ich nicht weiter bzw. bin etwas ratlos wenn ich mir einige Beispiele im Internet so anschaue.
    Daher hoffe ich auf eure Hilfe hier um mir das mal zu erläutern.

    Ich habe mir ein Beispiel von w3schools angeschaut und versucht umzusetzen:

    Code:
    function testPopUp(var1) {
    var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
                //document.getElementById("demo").innerHTML = this.responseText;
                //Hier habe ich mein POPUP reingesetzt:
    javascript:open('/info.php?var1='+var1, 'irgendein Text', 'height=400,width=400,resizable=no')";
           }
        };
        xhttp.open("GET", "info.php?var1="+var1, true);
        xhttp.send();
    }


    Das habe ich soweit angepasst an meine Bedürfnisse.
    Vor allem aber an der Stelle 'document.getElementById("demo").innerHTML = this.responseText;" habe ich ein
    Code:
     javascript:open('/info.php', 'irgendein Text', 'height=400,width=400,resizable=no')";
    reingesetzt.
    So, jetzt kommt auch ein Popup (eben das was in info.php enthalten ist entsprechend was die var1-Variable enthält kann ich das dort weiterverwenden).

    Aber verstehen tu ich es trotzdem nicht so ganz UND ich sehe das meine info.php 2x aufgerufen wird!
    Einmal von dem Funktionsaufruf selber, ein anderes mal nachdem der HTTP-Request ein ready-State = 4 zurückgeliefert hat und das PopUp das selbe Fenster aufruft.
    Das ist natürlich sicherlich falsch.
    Die Frage ist: wie geht das richtig?

    Ich habe ein PHP-Script welches in dem POP-UP angezeigt werden soll. Dieses erwartet eins (noch besser mehrere) Parameter.

    Während ich schreibe, frage ich mich warum ich überhaupt HTTP-Request nutze... ich könnte doch die JS-Function direkt anweisen das PopUp zu öffnen.... oder sehe ich das falsch?

    Grundlegendere Frage ist aber dann auch: wozu dann jQuery, Ajax und all das? Ich muss aber sagen das ich momentan sowieso nichts von dem Unterscheiden kann und wann wo was zu benutzen ist und warum überhaupt?
    Das wäre vielleicht auch noch gut zu wissen...

  • #2
    Das Aneignen von Wissen obliegt dir. Das Forum ist dazu eigentlich nicht dazu da und würde auch den Rahmen sprengen.

    Wenn ich deine Überschrift richtig interpretiere, brauchst du Javascript gar nicht.
    in HTML ein Semi-Blutiger-Anfänger kurz vor dem Aufstieg zum Anfänger.
    Fang doch erst mal mit HTML und CSS in Verbindung mit PHP an ein Formular zu kreieren und die ankommenden Parameter richtig zu validieren.
    Wenn du das verstanden hast und wie das HTT-Protokoll funktioniert, bist du schon ein ganzes Stück weiter.

    Javascript sollte zudem eine zusätzliche Möglichkeit darstellen, aber die Webseite an sich sollte auch ohne Javascript bedienbar sein.

    Kommentar


    • #3
      @protestix

      Wie du vielleicht zwischen den Zeilen lesen konntest ist es ja nicht so das ich in der Programmierung allgemein ein Anfänger bin.

      Ich brauche eben gerade jetzt, fernab von meinen Domänen, ein kleinen Teil einer Programmiersprache die ich bisher nicht gebraucht habe. Dafür nun Wochen und Monatelang Tutorials durcharbeiten und JS-Kurse zu machen, ist doch ein wenig übertrieben. Es geht nur um ein PopUp. sollte sich herausstellen das ich doch mehr in JS machen will, dann ist dies was anderes. Dann will ich es selber wissen....

      JS brauche ich doch nur um ein PopUp erstellen zu können welches mir beim Doppelklick auf ein ListBox-Element dazugehörige Informationen anzeigt. Und zwar am besten Modal oder zumindest nur in einer zugelassenen 'Instanz' wie so oft üblich bei PopUp-Fenstern.

      Kommentar


      • #4
        Zitat von Master0Blicker
        JS brauche ich doch nur um ein PopUp erstellen zu können welches mir beim Doppelklick auf ein ListBox-Element dazugehörige Informationen anzeigt. Und zwar am besten Modal oder zumindest nur in einer zugelassenen 'Instanz' wie so oft üblich bei PopUp-Fenstern.
        Genau darum solltest Du JavaScript lernen! Ich würde das bspw. nicht über die open-Methode machen, sondern ein DOM-Element einhängen. Dazu muss man aber etwas Basiswissen von JavaScript haben.

        Grundsätzlich bin ich der Meinung: Wenn man etwas umsetzen möchte - egal in welcher Sprache - sollte man diese Sprache zumindest grundlegend beherrschen.
        Dass das in der Lernphase nicht immer gegeben sein kann, ist vollkommen klar, aber das ändert nichts daran, dass man sich es aneignen muss.
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar

        Lädt...
        X