Ernst: Bestätigung für ein ausgefülltes Formular ....

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

  1. 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

    1. 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.

      1. 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

        1. 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.

          1. 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

            1. 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

              1. 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

                1. 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

            2. 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"

          2. 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