3 Stimmen

Radio-Wert innerhalb eines iframe abrufen

Wie gehe ich vor, um dies mit jQuery zu tun?

Im Grunde genommen die Struktur:

<form id="myForm">
  <iframe>
    <!-- Normal HTML headers omitted -->
    <input type=radio name="myRadio" value=1>First
    <input type=radio name="myRadio" value=2>Second
    <input type=radio name="myRadio" value=3>Third
  </iframe>
  <input type=button value="Submit" />
</form>

Ich habe verschiedene Beispiele aus dem Netz ausprobiert, z. B.

$("input[@type=radio][@checked]");

Aber gescheitert. Selbst mit jQuery form plugin's .fieldValue() gescheitert.

11voto

redsquare Punkte 76970

Versuchen Sie $('#myForm iframe').contents().find('input[name=myradio]').val()

Ich gehe davon aus, dass der iframe-Inhalt bereits geladen wurde und z. B. über dieselbe Domain zugänglich ist.

0 Stimmen

Das hat tatsächlich funktioniert. Ich habe <input ... val=1> anstelle von value=1 verwendet. Mein Fehler, Tippfehler.

0voto

eyelidlessness Punkte 60421

Es sei denn, jQuery tut einige Magie, die ich nicht bewusst sind, den Zugriff auf einen anderen Frame DOM erfordert ein wenig Trickserei. Dies könnte funktionieren:

var frameDocument = $('#myForm iframe').contentDocument || $('#myForm iframe').contentWindow.document;
$(frameDocument).find('input[type=radio][checked]');

Und, beachten Sie dies aus der jQuery-Dokumentation:

Beachten Sie, dass das "@" vor dem Attributnamen ab Version 1.2 veraltet ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X