Bestätigung für ein ausgefülltes Formular ....
Ernst
- javascript
Hallo JavaScript-Cracks !!
Habe folgendes Problem:
In einer HTML-Datei wird ein Formular ausgefüllt und berechnungen gemacht. Anschließend geht ein neues Fenster auf in dem das Ergebnis angezeigt werden soll. Zusätzlich sollen noch die im Formular ausgewählten bzw. eingetragenen Werte (type=text und type=Radio) erscheinen. Wie kann ich diese ansprechen, bzw. wie kann ich sie in das neue Fenster schreiben?
Vielen Dank im Vorraus
Gruß ERNST
Hi,
In einer HTML-Datei wird ein Formular ausgefüllt und berechnungen gemacht. Anschließend geht ein neues Fenster auf in dem das Ergebnis angezeigt werden soll. Zusätzlich sollen noch die im Formular ausgewählten bzw. eingetragenen Werte (type=text und type=Radio) erscheinen. Wie kann ich diese ansprechen, bzw. wie kann ich sie in das neue Fenster schreiben?
wird dieses Fenster mit window.open() geöffnet? Dann heißt die Referenz auf das öffnende Fenster - tadaa - opener. Wenn nicht, dann nicht.
Cheatah
wird dieses Fenster mit window.open() geöffnet? Dann heißt die Referenz auf das öffnende Fenster - tadaa - opener. Wenn nicht, dann nicht.
Cheatah
Erst mal Danke, aber
=> Gescheiterter Versuch !
Ich brauche noch einen Tipp, wie ich es formulieren muß. Mein Versuch lautete im HTML-Dokument :
<script type="text/javascript">document.write(opener.document.formular.feld);</script>
Habe es auch mit ...feld.value probiert aber nichts ist geschehen.
Hi,
=> Gescheiterter Versuch !
ist denn die Grundbedingung (window.open()) gegeben?
<script type="text/javascript">document.write(opener.document.formular.feld);</script>
Was gibt alert(opener) aus?
Habe es auch mit ...feld.value probiert aber nichts ist geschehen.
Definiere "nichts geschehen" bitte. Ich bin sicher, es gibt eine Fehlermeldung.
Cheatah
Hy,
das "window.open()" steht als Funktion in meiner "Rechnung.js"-Datei und lautet:
function fenster()
{
var win;
win = window.open("./PrAusgabe.html");
}
So, und jetzt sollen aus dem Formular-Fenster (welches die "Rechnung.js"-Datei aufruft) Werte in das neue Fenster geschrieben werde.
Definiere "nichts geschehen" bitte. Ich bin sicher, es gibt eine
Fehlermeldung.
Die Fehlermeldung lautet: "opener.document.Formular.feld" ist kein Objekt.
Was gibt alert(opener) aus?
Gibt nur "[Objekt]" aus.
Hi,
function fenster()
{
»» var win;
»» win = window.open("./PrAusgabe.html");
}
prima, damit hast Du win ziemlich genau für die Laufzeit der Funktion deklariert.
Die Fehlermeldung lautet: "opener.document.Formular.feld" ist kein Objekt.
Was gibt alert(opener) aus?
Gibt nur "[Objekt]" aus.
Und alert(opener.document)? alert(opener.document.Formular)? alert(opener.document.Formular.feld)?
Cheatah
Guten Morgähn Cheatah,
prima, damit hast Du win ziemlich genau für die Laufzeit der
Funktion deklariert.
Wie sollte ich es denn besser machen ?????
Was gibt alert .............. aus ?
alert(opener); => [Objekt]
alert(opener.dokument); => undefined
alert(opener.document.Preisformular); => ist kein Objekt
alert(opener.document.Preisformular.Zaehne); => [Objekt]
alert(opener.document.Preisformular.Zaehne.value); => leeres Alert-Fenster
Hi,
prima, damit hast Du win ziemlich genau für die Laufzeit der
Funktion deklariert.Wie sollte ich es denn besser machen ?????
var win; im globalen Bereich des Scripts schreiben, also außerhalb jeder function.
alert(opener.dokument); => undefined
Schreibfehler, hoffe ich?
alert(opener.document.Preisformular); => ist kein Objekt
alert(opener.document.Preisformular.Zaehne); => [Objekt]
Das paßt nicht zusammen. Bist Du sicher, daß Du Dich da nirgendwo vertippt hast?
alert(opener.document.Preisformular.Zaehne.value); => leeres Alert-Fenster
Und wenn Du in das Feld vorher etwas eintippst?
Cheatah
Hy,
var win; im globalen Bereich des Scripts schreiben, also außerhalb
jeder function.
Habe ich so probiert und funktioniert bei der letzten alert-Zeile
alert(opener.dokument); => undefined
Schreibfehler, hoffe ich?
RICHTIG, ein Schreibfehler, drum hier nochmal die Ausgabe bzw. Meldungen
zuerst vom ie:
alert(opener); -> [object]
alert(opener.document); -> [object]
alert(opener.document.Preisformular); -> [object]
alert(opener.document.Preisformular.Zaehne); -> [object]
alert(opener.document.Preisformular.Zaehne.value); -> NICHTS, auch wenn ich was eingegeben habe
und zum Test noch ein:
document.write(opener.document.Preisformular.Zaehne.value); -> NICHTS
Und wenn Du in das Feld vorher etwas eintippst?
Wird nur im netscape, jedoch nicht im ie angezeigt.
und nun im netscape:
alert(opener); -> [object window]
alert(opener.document); -> NICHTS
alert(opener.document.Preisformular); -> [object form]
alert(opener.document.Preisformular.Zaehne); -> <input type=......>
alert(opener.document.Preisformular.Zaehne.value); -> RICHTIGEN WERT
und zum Test noch ein:
document.write(opener.document.Preisformular.Zaehne.value); -> RICHTIGEN WERT
Was gibt alert .............. aus ?
Und der Netscape gibt:
alert(opener); => [Object Window]
alert(opener.dokument); => undefined
alert(opener.document.Preisformular); => [Object Form]
alert(opener.document.Preisformular.Zaehne); => <input type= .......>
alert(opener.document.Preisformular.Zaehne.value); => "den richtigen Wert"
Hallo,
das "window.open()" steht als Funktion in meiner "Rechnung.js"-Datei und lautet:
function fenster()
{
»» var win;
würde ich nicht in der Funktion machen, sondern außerhalb, damit auch ander Funktionen auf dieses Fenster zugreifen können.
»» win = window.open("./PrAusgabe.html");
}
So, und jetzt sollen aus dem Formular-Fenster (welches die "Rechnung.js"-Datei aufruft) Werte in das neue Fenster geschrieben werde.
So wie ich es verstehe willst Du vom 'alten' Fenster aus ins 'neue'
schreiben.
Weiters gehe ich davon aus, daß "./PrAusgabe.html" eine Formularseite enthält.
Deshalb würde ich vorschlagen, daß Du nicht mit document.write arbeitest sondern die felder direkt füllst:
var win;
function fenster()
{
win = window.open("./PrAusgabe.html");
}
function schreibe_wert_ins_neue_fenster()
{
win.formname.ausgabefeld.value = "wasauchimmer";
}
function hole_wert_aus_neuem_fenster()
{
meinevariable = win.formname.ausgabefeld.value;
}
und aus dem 'neuen' fenster kannst Du auf die Daten vom 'alten' folgendermaßen zugreifen:
function schreibe_wert_ins_alte_fenster()
{
opener.formname.ausgabefeld.value = "wasauchimmer";
}
function hole_wert_aus_altem_fenster()
{
meinevariable = opener.formname.ausgabefeld.value;
}
So, natürlich mußt Du aufpassen, daß Du erst dann auf das Formular des neuen Fensters zugreifst, wenn dieses vollständig aufgebaut ist.
Aus diesem Grunde solltest Du daher unbedingt Fehlerbehandlungen und ander entsprechende Vorkehrungen treffen, damit es nicht kracht.
Aber das ist eine andere Geschichte.
Grüße
Klaus