Markus Möller: Submit soll auch iframe-Inhalt abschicken

Hallo zusammen!
Ich habe eine Seite mit einem Formular und einem iframe, in dem sich wiederum ein Formular befindet.
Jetzt soll beim Absenden des äußeren Formulars das innere auch weggeschickt werden. Dies mache ich per JS wie folgt:

function submit() {
 for (var i=0; i<frames.length; i++) {
  frames[i].document.vform.submit();
 }
 window.setTimeout("document.vform.submit()", 1);
}

Gute Nachricht: Das klappt. Schlechte Nachricht: Wenn ich den Timeout weglasse, wird das iframe-Formular nicht submitted!
Den Timeout finde ich unschön und wer weiß, ob die eine Millisekunde auch bei langsammen Rechnern ausreichend ist?!

Deshalb würde ich es gerne auch anders hinbekommen, weiß aber nicht so recht wie. Kann man nicht soetwas machen wie:

warteAuf(frames[i].document.vform.submit());
// Jetzt gehts erst weiter...

Vielleicht kennt jemand ne Lösung.

Danke im Vorraus!

  1. Hallo,

    das mit dem iframe ist ganz böse und ein sicheres Sicherheitsmanko.
    Es gibt nämlich Sicherheitssoftware die das Absenden von Daten oder Ausführen von Scripten innerhalb eines iframes unterbindet. Leider sind die meisten Sicherheitseinstellungen global und können daher nicht nur auf iframes in mails angewendet werden.
    Es tauchten in letzter Zeit vermehrt iframes in HTML-Mails auf, daher diese Sicherheitsmassnahmen.

    Das Formular das zuerst absendest hat ggf. target="_self", wenn Du das Hauptformular mit target="_blank" oder target="framename" brauchst Du auch kein setTimeout mehr.

    Aber wozu auch ein iframe, sicher hast Du PHP,SSI oder CGI und kannst mit include das zweite Formular einbinden, oder ?

    Also, gutes Nachdenken

    Michael