Niels: uebernommene Formularwerte fehlen bei Submit im Netscape

<HEAD>
<script language="JavaScript">
<!--
function checkfotos()
{var i,n,m,anzahlbilder;
var bestelleinlesung="Bestellung über Seite www.blabla.de.\n\nFolgende Fotografien werden bestellt:\n\n";
fotoanzahl = new Array();
fotoformat = new Array();
n=0;m=0;
document.write("<TABLE border=1>");
anzahlbilder=48;
bestelleinlesung=bestelleinlesung+"Landschafts-Bilder\n\n\n";}
  
for(i=0; i <= anzahlbilder; ++i)
{
  if(parent.frames[1].document.forms[0].elements[(i+1)][parent.frames[1].document.forms[0].elements[(i+1)].selectedIndex].value != 0)
   {
    fotoanzahl[m] = parent.frames[1].document.forms[0].elements[(i+1)][parent.frames[1].document.forms[0].elements[(i+1)].selectedIndex].value;
    fotoformat[m] = parent.frames[1].document.forms[0].elements[(i)][parent.frames[1].document.forms[0].elements[(i)].selectedIndex].value;
    bestelleinlesung=bestelleinlesung+"\tFotografie "+(n+1)+": \t"+fotoanzahl[m]+"x \tFormat: "+fotoformat[m]+"\n";
    document.write("<TR><TD>Fotografie " + (n+1) + ": </TD>" + "<TD>" + fotoanzahl[m] + "x </TD>" + "<TD> Format: " + fotoformat[m] + "</TD></TR>");
    m=m+2;
   }
  n=n+1;
  i=i+1;
}
document.write("</TABLE>");
document.Bestellung2.fotografien.value=bestelleinlesung;
}
// -->
</script>
</HEAD>

<body>
<FORM name=Bestellung2 ACTION="mailto:....." enctype="text/plain" METHOD=POST onSubmit="return check()">
<input type=hidden name="fotografien" value="">
<script language="JavaScript">
<!--
checkfotos();
// -->
</script>
</FORM></BODY>

Folgendes passiert bis zum Aufrufen der Funktion: ich lese aus einem anderen Frame (frame[1]) Werte aus Feldern, die mit <SELECT> und <OPTION> definiert wurden.
Als Werte treten dort nur Zahlen (Anzahl der Bilder) und das Format in Form von '9*13' auf.
Auf der Seite, aus der auch der obige Auszug ist, werden die Werte aus dem anderen Frame uebernommen (fotoanzahl[i],fotoformat[i]).
In der Variable bestelleinlesung haenge ich nun noch diverse Infos an, und sammle in dieser Variable vor allem alle Werte aus dem anderen Frame.
Ich kann nun das Formularfeld problemlos mit alert ausgeben, desweiteren klappt auch die Ausgabe in der Tabelle (in der for-Schleife) im Netscape und Internet Explorer.
Das Problem sieht so aus, dass beim Submitten der mail aus Netscape fuer das Formularfeld 'fotografien' nur 'fotografien=' auftaucht, und nicht der Inhalt des Feldes.
Im Internet Explorer klappt es jedoch ohne Probleme.
Wie ist die Loesung des Raetsels??

Danke fuer jede Hilfe!!!!
der Niels

  1. Hallo Niels,

    <HEAD>
    <script language="JavaScript">
    <!--
    function checkfotos()
    {var i,n,m,anzahlbilder;

    »»  var bestelleinlesung="Bestellung über Seite www.blabla.de.\n\nFolgende Fotografien werden bestellt:\n\n";
    »»  fotoanzahl = new Array();
    »»  fotoformat = new Array();
    »»  n=0;m=0;
    »»  document.write("<TABLE border=1>");
    »»  anzahlbilder=48;
    »»  bestelleinlesung=bestelleinlesung+"Landschafts-Bilder\n\n\n";}
                                                                    ^^^^
    diese Klammer beendet die Funktion. Da bestelleinlesen eine globale Variable ist, wird der Wert nicht ans Formular übergeben.
    Einfach löschen, dann sollte es klappen.

    Viele Grüße
    Antje

    <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">

    1. Hallo Niels,

      »»  bestelleinlesung=bestelleinlesung+"Landschafts-Bilder\n\n\n";}
                                                                      ^^^^
      diese Klammer beendet die Funktion. Da bestelleinlesen eine globale Variable ist, wird der Wert nicht ans Formular übergeben.
      Einfach löschen, dann sollte es klappen.

      Viele Grüße
      Antje

      Danke Antje,
      .. ist jedoch nur beim generalisieren fuer das Forum unterlaufen (habe an dieser Stelle noch eine Unterscheidung je nach oeffnender Seite eingefuegt).
      Die Funktion wird ja auch weiter durchlaufen - auch im Netscape.
      Wie gesagt, ich kann den kompletten Inhalt der Variable mittels  alert(bestelleinlesung); ausgeben lassen - und das funktioniert auch.
      Diese Ausgabe kann ich ganz am Ende der Funktion genau vor der Wert-Uebergabe  document.Bestellung2.fotografien.value=bestelleinlesung; immernoch erfolgreich durchfuehren.
      Der Punkt ist jedoch, im abgesendeten Formular taucht es nicht auf - evtl. ein Uebergabefehler (in obiger Zeile)??

      Ansonsten Dir mal ein grosses Danke!!! Ich habe in diesem Forum schon ziemlich oft Hinweise und Tipps von Dir gefunden, und finde das ziemlich klasse.
      Das hilft auch mir irgendwann so weit zu sein, um anderen aehnlich gute Tipps geben zu koennen.

      Hoffe jemand kann noch mal auf das Listing schauen - vielleicht auch konkret zu den Uebergaben zwischen Formularwerten des anderen Frames zu den Arrays und anschliessend zudem Formular-Element des aktuellen Frames.
      DANKE!!

      der Niels

      1. Hallo Niels,

        Diese Ausgabe kann ich ganz am Ende der Funktion genau vor der Wert-Uebergabe  document.Bestellung2.fotografien.value=bestelleinlesung; immernoch erfolgreich durchfuehren.
        Der Punkt ist jedoch, im abgesendeten Formular taucht es nicht auf - evtl. ein Uebergabefehler (in obiger Zeile)??

        Bei meinen Test lief ja eigentlich alles erfolgreich. Also kann es tatsächlich nur an dieser Zeile liegen.

        Und dazu fählt mir nur ein, daß sich das Formular in einem absolut positionierten Div befinden könnte. Dann ist es mit dem Formularen wie mit den Bildern. Sie werden mit document.layername.document... angesprochen.

        Teste mal folgendes:
        <form action=... onsubmit="alert(document.Bestellung2.fotografien.value);">

        daran kannst du kurz vor dem Abschicken kontrollieren, ob der Wert gesetzt ist.
        Wenn alles nichts hilft, gib bitte mal eine URL an, damit man sich das Anschauen kann.

        Viele Grüße
        Antje

        <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">

        1. Hallo Niels,

          Diese Ausgabe kann ich ganz am Ende der Funktion genau vor der Wert-Uebergabe  document.Bestellung2.fotografien.value=bestelleinlesung; immernoch erfolgreich durchfuehren.
          Der Punkt ist jedoch, im abgesendeten Formular taucht es nicht auf - evtl. ein Uebergabefehler (in obiger Zeile)??

          Bei meinen Test lief ja eigentlich alles erfolgreich. Also kann es tatsächlich nur an dieser Zeile liegen.

          Und dazu fählt mir nur ein, daß sich das Formular in einem absolut positionierten Div befinden könnte. Dann ist es mit dem Formularen wie mit den Bildern. Sie werden mit document.layername.document... angesprochen.

          .. ist nicht der Fall. (Verwende naemlich bisher keine DIV's)

          Teste mal folgendes:
          <form action=... onsubmit="alert(document.Bestellung2.fotografien.value);">

          .. hier erscheint dann wie fast erwartet ein leeres Alert-Fenster

          Werde innerhalb der naechsten 10 Minuten mal die entsprechenden Seiten 'freischalten', da ich das Menue der Rechten Maustaste gesperrt hatte.
          Danke fuer die Muehe!!

          http://[Adresse entfernt - d.Red.]

          wenn man zu den Fotografien geht, und im rechten Frame einige Bilder markiert - kann man auf Bestellung klicken, kommt dann zu einer allg. Info-Seite und (nun endlich) als naechstes zur Problem-Seite.
          http://[Adresse entfernt - d.Red.]/anschrift.html

          der Niels

          1. Hallo Niels,

            für ausführliche Tests nehme ich mir keine Zeit, weil es mir schlichtweg zu dumm, ist alle Hindernisse zum Einsehen des Quelltext zu umgehen. Man benötigt mehr als ein paar einzelne Seite bei solchen Problemen.

            .. hier erscheint dann wie fast erwartet ein leeres Alert-Fenster

            Werde innerhalb der naechsten 10 Minuten mal die entsprechenden Seiten 'freischalten', da ich das Menue der Rechten Maustaste gesperrt hatte.

            Ich vermute folgendes:

            du setzt den Valuewert des Hiddenfeldes bevor das Form geschlossen wurde. Eventuell überschneiden sich auch irgendwelche Werte oder Überwachungen. Die Gründe können vielfältig sein.

            Mein Vorschlag: da ja der Wert beim alert kommt und damit in der Funktion wirksam ist, schreibe doch einfach das Hiddenfeld mittels document.write().

            Viele Grüße
            Antje

            <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">

            1. für ausführliche Tests nehme ich mir keine Zeit, weil es mir schlichtweg zu dumm, ist alle Hindernisse zum Einsehen des Quelltext zu umgehen. Man benötigt mehr als ein paar einzelne Seite bei solchen Problemen.

              Viele Grüße
              Antje

              Oh jetzt habe ich aber wen erbost - das tut mir Leid. Ich weiss jedoch nicht so recht warum dies der Fall ist.
              Es haetten eigentlich keine Probleme beim Anschauen der Seiten auftreten duerfen.
              War dies der Fall?
              Trotz der merkwuerdigen Reaktion danke ich Dir fuer die Hilfe - werde das ueber document.write() gleich mal versuchen.

              Waere nur mal interessant, was Dich so erzuernt hat - damit ich's das naechste Mal nicht wieder tue?!

              Bis spaeter,
              der Niels

              (falls Du doch noch mal schauen solltest - die Seite, in der alle Frames definiert und aufgerufen werden heisst [Adresse entfernt - d.Red.]/landschaften.html

              • und wirklich alle Seiten hier sind frei fuer jedermann lesbar)
              1. Hab's geschafft!!!!!! Und freue mich darueber maechtig!!!!!!!!

                Du hattest recht Antje, dass es im Bereich des Form-Tags vermutlich Ueberschneidungen gibt.

                Falls es auch Dich interessiert - des Raetsels Loesung sieht so aus, das nach dem abschliessenden </FORM> -Tag erst die Wertuebergabe in das Formularfeld vollzogen wird.
                Somit klappt's auch mit Netscape-Browsern.

                Fall beendet; zu den Akten! - und ich hoffe Antje Du verzeihst meine vermutlich noch anfaenglichen Ungeschicktheiten.
                (Bin ehrlich gesagt noch Frischling im Forum - bin jedoch schon seit 2 Wochen nahezu Tag und Nacht im Archiv unterwegs und sammle Infos - und bin von diesem Medium begeistert)

                DANKE,
                                  der Niels

                1. Hey Antje,
                  dass ich inzwischen wieder ruhiger schlafe hatte ich ja in dem letzten Eintrag bereits erwaehnt.

                  Kannst Du mir die Loesung (aus der von mir geposteten letzten Nachricht) erklaeren?
                  es funktioniert zwar inzwischen - wuerde jedoch gern auch verstehen was und warum es passiert.

                  der Niels dankt.

              2. Hallo Niels,

                Oh jetzt habe ich aber wen erbost - das tut mir Leid. Ich weiss jedoch nicht so recht warum dies der Fall ist.
                Es haetten eigentlich keine Probleme beim Anschauen der Seiten auftreten duerfen.
                War dies der Fall?

                ganz einfach, daß hängt mit meiner Arbeitsweise zusammen:

                ich hätte für einen ausführlichen Test auf jeden Fall den Quellcode des Framesets benötigt und zwar der einfachen Kopierbarkeit wegen im IE.
                Das neue Fenster und die damit verbundenen Scripts erleichtern es nicht gerade. Irgendwelche Tools benutze ich nie, da ich normalerweise Seiten mit Sperrung der rechten Maustaste fluchtartig verlasse. Die ist für mich ein wichtiges Navigationsmittel.

                Trotz der merkwuerdigen Reaktion danke ich Dir fuer die Hilfe - werde das ueber document.write() gleich mal versuchen.

                Waere nur mal interessant, was Dich so erzuernt hat - damit ich's das naechste Mal nicht wieder tue?!

                »»

                Einfache Gegenfrage:

                Würdest du dir die Zeit nehmen ein undurchsichtiges Problem für jemand Fremden zu lösen, wenn dieser dir die Arbeit erschwert?
                Ich habe mir die Zeit zum nachschauen regelrecht abgeknappst, weil ich immer auf die Threads achte, in denen ich poste. Deshalb war ich so sauer, denn das war vergeudete Zeit.

                (falls Du doch noch mal schauen solltest - die Seite, in der alle Frames definiert und aufgerufen werden heisst [Adresse entfernt - d.Red.]/landschaften.html

                »»  - und wirklich alle Seiten hier sind frei fuer jedermann lesbar)

                Heute nicht mehr und morgen richtet es sich nach meiner Zeit. Ich hoffe trotzdem der document.write()-Trick klappt.
                Noch ein Hinweis: im NN ist die Schrift im Auswahlmenü nahezu unlesbar (ich habe eine Auflösung von 800x600 bei 17 Zoll). Da solltest du unbedingt was daran ändern.

                Viele Grüße
                Antje

                <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">