2009-08-21 12 views
3

Ich habe ein Formular in einem Iframe, das aus dem Hauptrahmen manipuliert werden muss.Wie setze ich den Wert eines Eingabefeldes innerhalb eines iframe mit jQuery?

Der Iframe wird in einem Pop-Over angezeigt, wenn auf eine Schaltfläche im Hauptrahmen geklickt wird. Es enthält dann ein Upload-Formular mit einem versteckten Feld namens dir.

Ich möchte das versteckte Feld vor dem Anzeigen des Formulars festlegen. Ich habe versucht:

$('#upload_iframe').contents().find('#dir').val(dir); 

... die läuft. Und der neue Wert kann mit alert() im Hauptrahmen gedruckt werden. Der Iframe ändert seinen Wert jedoch nicht. Kannst du mir helfen herauszufinden, warum?

Vielen Dank!

+0

Woher wissen Sie, dass es den Wert nicht ändert? Wenn 'alert' Ihnen neuen Wert gibt, scheint es mir, dass es gut funktioniert. – RaYell

+0

Laden Sie jQuery in den Iframe oder ist er nur im Hauptrahmen verfügbar? – Niko

+0

jQuery wird in beiden Frames geladen. Der Grund, dass ich weiß, dass der Wert nicht geändert wird, liegt daran, dass ich ihn mit Firebug überprüfe und das neue Verzeichnis nicht vom Formular gesendet wird. – Christoffer

Antwort

4

Ich glaube nicht, dass dies in einer einzigen Zeile von jQuery möglich ist. Die Lösung, die ich mir vorstellen kann, ist etwas komplizierter.

Der IFrame wird eine Quellseite (z. B. test.aspx) haben. Um ein Textfeld auf dieser Seite zu erhalten gebucht werden Sie die URL festlegen können, um den Text enthalten:

$("#upload_iframe").attr("src", "text.aspx?dir=YourDirTextHere"); 

Dann in Ihrem Server-Side-Code würden Sie dies aus der Abfragezeichenfolgeflag abholen.

+0

Ich habe eine Variation dieser Technik verwendet. Danke für den Tipp! – Christoffer

Verwandte Themen