klaus: Formulardaten in ein neues Fenster übergeben

Beitrag lesen

Hallo,

mit Javascript bin ich leider gar nicht fit und versuche trotzdem, ein paar Formulardaten in ein neues Fenster zu übergeben. In einem Beitrag im Forum habe ich schon einige Anregungen bekommen, aber irgendwie klappt's nicht. Das Fenster erscheint zwar, aber ohne irgendeinen value.

So sieht das Script auf der Absende-Seite aus:

function abo()
{
abodaten=window.open('neuesfenster.htm','','width=350,height=300);
abodaten.document.Formularname.Feldname.value=document.Formular_aktuellesfenster.Feldname_aktuellesfenster.value
}

Kann mir jemand einen Tip geben, wo der Fehler liegen könnte? Muß in der zu öffnenden Seite noch irgendwas drinstehen?

Dirk

hi,
vielleicht hast Du ein Timing-Problem.
wenn Du ein neues Fenster aufmachst und Du darin ein Formular aufrufts, dann vergeht einige Zeit bis die Seite geladen ist. wenn Du jedoch gleich in das Formular Werte übergeben willst, dann krachts, weil noch kein Formular da ist.
Besser wäre es, wenn das neue Fenster sich die Daten vom alten Fenster holt.
also im neuen Fenster am Ende, wenn alles geladen ist (nach </form>) in etwa sow was reinschreiben:

<script  language="JavaScript">
<!--
self.document.Formularname.Feldname.value=opener.document.Formular_aktuellesfenster.Feldname_aktuellesfenster.value
// -->
</script>

andererseits geht das ganze auch ohne Javascript, wenn CGI verwendet wird, weil dann kann auch das Target des Formulars so gesetzt werden, daß ein neues fenster geöffnet wird:

<form action="scriptname" target="_blank">
...
</form>

ich glaub es geht auch mit statischen html-seiten,
wenn Du in der neuen seite die  search-Eigenschaft von location auswertest.
also:

<form action="neuesfenster.htm" target="_blank">
...
</form>

und in "neuesfenster.htm"

<script language="JavaScript">
<!--
function processParameter()
{
var parameters = selft.location.search
// hier die zeile in 'name=wert'-dingens splitten und so weiter und so fort bis zum ausfüllen der Felder
}
// ->
</script>

viel spaß
klaus