Laden Sie die externe PHP-Datei im jquery modalen Dialog onclick

7

Ich versuche, ein jquery modales Dialogfeld zu öffnen, wenn der Benutzer auf einen Link klickt. Ich möchte dann eine externe PHP-Datei in das Dialogfeld laden. Ich benutze diese jquery:

%Vor%

und dieses html:

%Vor%

für die Anzeige: Keine in der .css-Datei.

Außerdem wird in einem Formular der Link aufgerufen:

%Vor%

(Ich werde die Tabelle in divs ändern).

Ich bekomme keine Fehler mit diesem Code, aber nichts geschieht, wenn ich auf den Link klicke. Ich habe das meiste davon von anderen Stapelüberlaufpfosten bekommen. Fehle ich etwas? Stört die Tabelle html?

Grüße ...

    
cdonahue 14.08.2012, 20:57
quelle

3 Antworten

16

In Ihrem Link

%Vor%

Sie haben name="reg_link" , das stattdessen id="reg_link" sein sollte, d. h.

%Vor%

Es wird also mit folgendem Code funktionieren

%Vor%

Um es zu einem Dialog zu machen, können Sie

verwenden %Vor%

Nur ein Beispiel .

    
The Alpha 14.08.2012, 21:21
quelle
2

Erstellen Sie den Dialog, nachdem Sie die Seite geladen haben .load() ersetzt den Inhalt des Containers durch den neuen Inhalt

Ihr Click-Handler hat Syntaxfehler. Es sieht so aus, als ob Sie eine Kombination aus einer Funktion und einem Objekt als Argument übergeben, es sollte eine normale Funktion sein. Wie

%Vor%

Auch Ihr <a> -Element hat reg_link als Name nicht ID

%Vor%     
Musa 14.08.2012 21:02
quelle
1

Ich kenne die Funktion .dialog() nicht ganz, aber Sie verwenden .click() falsch. Ein Teil des Problems ist etwas Verwirrung in Bezug auf geschweifte Klammern {} . Sie werden für zwei völlig getrennte Dinge verwendet, und Sie mischen die beiden hier hoch.

Die erste Verwendung geschweifter Klammern besteht darin, das Innere eines Blocks anzugeben: das Innere einer Schleife, das Innere einer Bedingung, das Innere einer Funktion. Zum Beispiel:

%Vor%

Die zweite Verwendung ist JSON (JavaScript Object Notation) für ein Objekt oder ein assoziatives Array, wobei Eigenschaften oder Werte mit Namen oder Schlüsseln im folgenden Format gepaart werden:

%Vor%

Wenn Sie $('#reg_link').click (function() { schreiben, öffnen Sie einen Funktionsblock mit dieser geschweiften Klammer und starten kein JSON. Wenn Sie also open: schreiben (als wäre dies ein JSON und Sie setzen den Schlüssel open ), wird etwas definitiv nicht so funktionieren, wie Sie es erwarten (I ' Ich bin überrascht ... irgendwie ... dass es keinen Fehler gibt, eigentlich). Was Sie in diesen geschweiften Klammern schreiben müssen, ist der Code einer Funktion. In diesem Fall ist es wahrscheinlich nur Folgendes:

%Vor%

Im Allgemeinen verwendet jQuery beide Versionen viel und mischt sie oft zusammen (Funktionen, die JSONs als Argumente akzeptieren, oder JSONs, die Funktionsrückrufe als Einträge enthalten), also ist es wirklich wichtig verstehe was ist was.

BEARBEITEN: Googling re: .dialog() schlägt vor, dass Sie es auch nach .load() aufrufen müssen, was bedeutet, dass der Block ungefähr so ​​aussehen sollte:

%Vor%

Basierend auf Ihrem eigenen Code ist .dialog() tatsächlich ein Beispiel für eine Funktion, die ein JSON als Argument verwendet. Wenn Sie also davon ausgehen, dass das Bit korrekt ist, lautet der vollständige Code wie folgt:

%Vor%     
KRyan 14.08.2012 21:05
quelle

Tags und Links