Alexander Kleinjung: Auslesen einer Variabel im Formular...

Beitrag lesen

Hi Markus,

mir fallen spontan ein paar Punkte auf:

1. Der Synatx für das Formular dürfte falsch sein; gib dem Formular
   einen Namen und sprich die Elemente dann mit

document.FormularName.ElementName.value

an.

2. In Deiner Funktion ist "res" nicht definiert (oder ich bin zu
   müde, um es zu sehen).

3. Wann und wo und überhaupt wird Dein Script denn aufgerufen???

4. Du kannst den "echten" Wert eines <select>-Feldes nicht auf die
   selbe weise wie ein <input>-Feld abfragen, wo der String ver-
   glichen wird, sondern musst abfragen, welches Element (=Auswahl)
   aus diesem <select>-Feld nun markiert ist und dann entsprechend
   den Wert zuweisen.

So klappts auf jeden Fall; gerade getestet:

Das Formular:
-------------

<form name="feedback" action="tuwas" method="post">
    <input type="hidden" name="empfaenger" value="">    * s.u.
    <select name="wohin" size="1" onChange="anWen()">
      <option value="support@mail">Support</option>
      <option value="webmaster@mail">Webmaster</option>
    <select>
    <input type="submit" value="absenden">
    </form>

Das Script:
-----------

<script language="JavaScript">
    function anWen()
    {
    for(i=0;i<document.feedback.wohin.length;++i)
    if(document.feedback.wohin.options[i].selected == true)
    dahin = document.feedback.wohin.options[i].value;
    document.feedback.empfaenger.value = dahin;
    }
    </script>

* Anmerkung:

Da das Script anWen() nur in Kraft tritt, wen man den Wert des
<select>-Feldes tatsächlich ändert, nicht aber, wenn es nur den Focus
bekommt, würde ich entweder auch einen "onFocus="anWen()" setzen oder - besser und einfacher - das Feld 'empfaenger' vordefinieren,
so dass dieser Wert erst dann geändert wird, wenn wirklich eine
andere als die Standardoption (also die erste Möglichkeit des
<select>-Feldes) aktiviert wurde.

So, und weil se heute alle so schön am mosern waren...
DAS ALLES findest Du en detail in SELFHTML ;-)

Und guck Dir noch mal in Ruhe an, wie Du Elemente via JavaScript
ansprichst...

Viel Spass beim ausprobieren & endgültig 'n8
   Alex