submit-Formular in anderem Fenster?
Sabine
- javascript
Hallo!
Wisst ihr ob es möglich ist, ein Formular aus einem anderen Fenster abzuschicken, also den submit-Befehl aus einem anderen Fenster aufzurufen und wenn ja, wie?
Beide Fenster sind geöffnet und nun möchte ich aus einem Popupfenster, das Formular in der anderen Datei (Frameseite) abschicken.
document.forms[].submit() kenne ich, funktioniert aber nicht (Fehlermeldung document.forms... ist Null oder kein Objekt, auch über den Namen den Formulars funktionierts nicht). Irgendwie muss ich (wenn es überhaupt funktioniert) wahrscheinlich das Fenster ansprechen, aber wie in dem konkreten Fall??
Danke im Voraus!
Sabine
hi
kenne ich, funktioniert aber nicht (Fehlermeldung document.forms... ist Null oder kein Objekt, auch über den Namen den Formulars funktionierts nicht). Irgendwie muss ich (wenn es überhaupt funktioniert) wahrscheinlich das Fenster ansprechen, aber wie in dem konkreten Fall??
so pauschal(schon im halbschlaf mit einem halb geöffneten Auge)folgende Lösung:
dein formular ist in nem anderen frame, also:
parent.framename.document.forms[].submit()
http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines<- zum nachlesen
wobei ich diesen part nichtmehr so ganz kapiert habe
»»...ein Formular aus einem anderen Fenster abzuschicken...
»»Beide Fenster sind geöffnet und nun möchte ich aus einem Popupfenster, das Formular in der anderen Datei (Frameseite) abschicken.
du hast zwei offene fenster, möchtest aus dem einen den submit button des andernfensters öffnen aber das ganze aus einem popup???
naja vieleicht schaue ich mir das morgen früh nochmal an ...
Danke im Voraus!
Sabine
kein problen
-RB-
________________________________________________
wer rechtschreibfehler findet, darf sie behalten!
hallo sabine
Wisst ihr ob es möglich ist, ein Formular aus einem anderen Fenster abzuschicken, also den submit-Befehl aus einem anderen Fenster aufzurufen und wenn ja, wie?
Beide Fenster sind geöffnet und nun möchte ich aus einem Popupfenster, das Formular in der anderen Datei (Frameseite) abschicken.
document.forms[].submit() kenne ich, funktioniert aber nicht (Fehlermeldung document.forms... ist Null oder kein Objekt, auch über den Namen den Formulars funktionierts nicht). Irgendwie muss ich (wenn es überhaupt funktioniert) wahrscheinlich das Fenster ansprechen, aber wie in dem konkreten Fall??
frameset:
+--------+-----------------+
| | |
| | |
| frame | frame |
| [1] | [2] |
| | |
| | |
| | |
| | |
+--------+-----------------+
popup:
+----------------+
| |
| |
| popup |
| [3] |
| |
| |
+----------------+
frame [1] heisst 'myFrame1'
frame [2] heisst 'myFrame2'
formular heisst 'myForm'
fall 1:
formular ist in frame [1].
frame [1] hat das popup [3] geöffnet.
also in [3] führst du folgendes aus:
opener.document.myForm.submit();
oder
opener.document.forms['myForm'].submit();
mit opener kommst du nach [1].
fall 2:
formular ist in frame [1].
frame [2] hat das popup [3] geöffnet.
also in [3] führst du folgendes aus:
opener.parent.myFrame1.document.myForm.submit();
oder
opener.parent.frames['myFrame1].document.myForm.submit();
mit opener kommst du nach [2].
mit parent kommst du ins frameset.
mit myFrame1 (framename) oder frames['myFrame1'] kommst du nach [1].
so, spiel ein bisschen damit herum, dann siehst du wie das prinzip funktioniert.
weiterführende links:
http://selfhtml.teamone.de/javascript/objekte/frames.htm
http://selfhtml.teamone.de/javascript/objekte/window.htm#allgemeines
http://selfhtml.teamone.de/javascript/objekte/window.htm#open
grüsse
siramon, ja der aus der schweiz
Hallo und herzlichen Dank einmal für die Tipps, leider hat es aber bei mir nicht funktioniert, was wahrscheinlich kein Wunder ist, da ich euch gestern zu nachtschlafender Zeit auch das Wichtigste vorenthalten habe :), hier mal ein Auszug aus dem Code, damit das Erklären einfacher (bzw. überflüssig :) wird.
function correct(f)
{
w = open("", "Demo", "width=560,height=400,location=0,toolbar=0,directories=0,resizable=1,scrollbars=1,status=1,dependet")
with(w.document)
{
open("text/html")
writeln("<HTML>")
writeln("<HEAD>")
writeln("<TITLE></TITLE>")
writeln("</HEAD>")
writeln("<BODY>")
writeln("<H1>Ihre Bestellung</H1>")
writeln("<TABLE BORDER="0">")
writeln("<TR ALIGN="LEFT" VALIGN="TOP">")
writeln("<TD>Wir bestellen hiermit" + f["anzahl"].value + "Internetseiten (inkl. Startseite) zu den Bedingungen und Preisen der Weihnachtsaktion von webkmu.</TD>")
writeln("</TR>")
writeln("<TR ALIGN="LEFT" VALIGN="TOP">")
writeln("<TD>Wir bestätigen, die Bedingungen der Weihnachtsaktion und AGB gelesen und akzeptiert zu haben</TD>")
writeln("</TR>")
writeln("<TR ALIGN="LEFT" VALIGN="TOP">")
writeln("<TD>Firma:</TD>")
writeln("<TD>" + f["firma"].value + "</TD>")
writeln("</TR>")
..... etc. etc ................
writeln("</TABLE>")
writeln("<P><STRONG>[ <A HREF="javascript:self.close()">Ändern</A> ]</STRONG></P>")
writeln("<P><STRONG>[ <A HREF="javascript:opener.document.aktion.submit()">Abschicken</A> ]</STRONG></P>")
writeln("</BODY>")
writeln("</HTML>")
close()
}
w.focus()
}
//-->
</script>
</head>
<body>
<form name="aktion" method="post" action="mailto:info@webkmu.com?Subject=Weihnachtsaktion" enctype="text/plain">
<table width=100%>
<tr height="20px"><td colspan="6"><br><b>Bestellung</b></td></tr><tr><td colspan=6>Wir bestellen hiermit <input type="text" name="anzahl">Internetseiten (inkl. Startseite) zu den Bedingungen und Preisen der Weihnachtsaktion von webkmu.</td></tr>
.......etc. etc. ..............
<tr><td></td><td colspan=3><input type="button" name="submit" value="Abschicken" onclick="correct(this.form)"> <input type="reset" value=" Löschen "></td></tr></table>
</td></tr></table>
</body>
</html>
Im Moment sieht es also so aus, dass aus dem Formular durch Submit das Popup mit den Daten (mit JS eingeschrieben) angezeigt wird, wenn der Besucher die Daten Ok findet, sollte er sie nun über das Abschicken im Popup endgültig abschicken können. Weiß jemand wie das funktionieren könnte? Auch über andere Lösungswege als meine freue ich mich!
Danke
Sabine