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:
Das habe ich soweit angepasst an meine Bedürfnisse.
Vor allem aber an der Stelle 'document.getElementById("demo").innerHTML = this.responseText;" habe ich ein
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...
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')";
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...
Kommentar