schmulja: Vorselektierung in Auswahl-Liste und submit()

Hallo,

ich habe Dropdown-Liste im <form>:

<form name="Form" action="blabla" method="post">
<tr><td>
 <select name="Auswahl" size="1" onchange="auswahlTyp()">
       <option value="alle">Bitte wählen...</option>
       <option value="Eins">Eins</option>
       <option value="Zwei">Zwei</option>
 <option value="Drei">Drei</option>
 </select>
</td></tr>
</form>

und ich habe JavaScript Funktion

<script language="JavaScript">
function auswahlTyp(){
 for (var i=0;i<document.Form.Auswahl.length;i++)
  if (document.Form.Auswahl.options[i].selected==true)
  {
   document.Form.Auswahl.options[i].selected = true;
   document.Form.submit();
  }
}
</script>

Nach submit()-Ausführung ist der erste Eintrag in der Auswahlliste vorselektiert ("Bitte wählen..."). Ich brauche aber den letzten, der ausgewählt worden war (und der submit() ausgelöst hat).

Danke für die Hilfe,
schmulja

  1. Moin,

    also irgendwie verstehe ich nicht was du hier vorhast:

    <script language="JavaScript">
    function auswahlTyp(){
    for (var i=0;i<document.Form.Auswahl.length;i++)
      if (document.Form.Auswahl.options[i].selected==true)
      {
       document.Form.Auswahl.options[i].selected = true;
       document.Form.submit();
      }
    }
    </script>

    Du fragst ob selected == true ist und wenn es das ist, dann setzt du es nochmal explizit und machst ein submit?
    Wozu setzt du es denn nochmal und was soll überhaupt passieren?

    MfG,
      Juan

    1. Moin,

      also irgendwie verstehe ich nicht was du hier vorhast:

      <script language="JavaScript">
      function auswahlTyp(){
      for (var i=0;i<document.Form.Auswahl.length;i++)
        if (document.Form.Auswahl.options[i].selected==true)
        {
         document.Form.Auswahl.options[i].selected = true;
         document.Form.submit();
        }
      }
      </script>

      Du fragst ob selected == true ist und wenn es das ist, dann setzt du es nochmal explizit und machst ein submit?
      Wozu setzt du es denn nochmal und was soll überhaupt passieren?

      MfG,
        Juan

      Ok, wir können die Zeile auch streichen (s.u)

      <script language="JavaScript">
       function auswahlTyp(){
        for (var i=0;i<document.Form.Auswahl.length;i++)
         if (document.Form.Auswahl.options[i].selected==true)
         {
          document.Form.submit();
         }
       }
       </script>
      Ich habe das ganze in einer JSP-Seite, und bekomme nach submit() mit
      request.getParameter("Auswahl") den ausgewählten Eintrag. Was mir fehlt ist, dass dieser auch in Auswahlmenü zu sehen wird (und nicht erste option in der select-Liste).

      Gruß,
      schmulja

      1. hi,

        Ich habe das ganze in einer JSP-Seite, und bekomme nach submit() mit
        request.getParameter("Auswahl") den ausgewählten Eintrag. Was mir fehlt ist, dass dieser auch in Auswahlmenü zu sehen wird (und nicht erste option in der select-Liste).

        Dann generiere doch im JSP-Code einfach das selected-Attribut für die passende Option.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. hi,

    Nach submit()-Ausführung ist der erste Eintrag in der Auswahlliste vorselektiert ("Bitte wählen..."). Ich brauche aber den letzten, der ausgewählt worden war (und der submit() ausgelöst hat).

    An wen oder was schickst du das Formular ab?
    An ein serverseitiges Script, welches die Seite mit dem Formular dann neu aufbaut?

    Dann nimm das slektierend er gewählten Option bereits dort vor.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Dann nimm das slektierend er gewählten Option bereits dort vor.

      ^^^^^^^^^^^

      Knoten in die Fingers, sollte selektieren heißen.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi,

        mit submit() baue ich dieselbe Seite nochmal neu.In diesem Fall hat sie ja keine Information, welche Eintrag vorher ausgewählt worden war.Also erscheint in Auswahlmenü wieder mal erster Eintrag.

        Grüße

        1. hi,

          mit submit() baue ich dieselbe Seite nochmal neu.In diesem Fall hat sie ja keine Information, welche Eintrag vorher ausgewählt worden war.Also erscheint in Auswahlmenü wieder mal erster Eintrag.

          Schön, das ist in etwa so aussagekräftig, wie die eingangs erfolgte Beschreibung.

          Würdest du dann bitte meine Frage mal explizit beantworten?

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Ich hoffe es klappt jetzt, also

            ich habe das ganze in einer JSP-Seite, und bekomme nach submit() mit
            request.getParameter("Auswahl") den ausgewählten Eintrag (den brauche ich für weiteren Aufbau meine JSP-Seite).
            Was mir fehlt ist, dass dieser auch in Auswahlmenü zu sehen wird (und nicht erste option in der select-Liste).

            Gruß,
            schmulja