besi: Listenfeld Abfrage greift nicht bei Firefox

Hallo,

bin anfänger in Javascript und möchte ein Formularfeld abfragen. Dabei bin ich auf folgende Hilfeseite geraten:
Schaut Euch doch bitte mal die Seite an:
http://www.on-mouseover.de/formular/formular_javascript1.html

Nun zum Problem!
Die Abfrage des dritten Listenfelds "Die Note" wird beim Firefox komplett ignoriert und greift erst wieder bei "zu verbessern". Beim IE 6 greift die Abfrage "Die Note" problemlos.

Danke für die Hilfe

mfg
besi

  1. Hi,

    probier mal das ...

    if(document.mailer.bewertung_note.options.selectedIndex == 0)
    {
        alert ("Bitte Treffen Sie doch eine Noten-Auswahl");
        return false;
    }

    ... ungetestet.

    Wenn's nicht geht, dann schau im Self nach unter http://de.selfhtml.org/javascript/objekte/options.htm ... da findest was du brauchst.

    Das Abfragen auf value funktioniert deswegen nicht, weil dieses Attribut nicht durch die Auswahl eines neuen Wertes geaendert wird - erst nach submit/reload oder setzen per JS, daher auf den selectedIndex pruefen.

    Viel Erfolg!

  2. habe aus dem Quellcode dort gefischt:

    if(document.mailer.bewertung_note.options.value=="bit_auswaehlen"                                   )
    {
      alert ("Bitte Treffen Sie doch eine Noten-Auswahl ");
      return false
    }

    und

    <select name="bewertung_note" >
    <option value="bit_auswaehlen" >Bitte ausw&auml;hlen
    <option >1=super, klasse, weiter so.
    <option >2=gute homepage.
    <option >3=zufriedenstellend, im prinzip OK.
    <option >4=noch zu verbessern.
    <option >5=ups..ich bin den tr&auml;nen nahe.
    <option >6=auweia...dabeisein ist alles.
    </select>

    Es ist also kein Wert vorselektiert.
    Es ist somit auch der value bei unselektiertem Zustand = "";

    Was MSIE damit macht ist mir sch....

    mfg Beat

  3. Hi,

    Die Abfrage des dritten Listenfelds "Die Note" wird beim Firefox komplett ignoriert und greift erst wieder bei "zu verbessern". Beim IE 6 greift die Abfrage "Die Note" problemlos.

    Die dort durchgefuehrte Abfrage

    if (document.mailer.bewertung_note.options.value=="bit_auswaehlen")

    ist unsinnig.

    Ja, unterhalb des select-Feldes liegt options - das ist aber die NodeList, die Zugriff auf alle Options bereitstellt. Diese selber hat aber keine Eigenschaft value.

    Entweder also ueber selectedIndex auf die jeweilige option zugreifen, und deren value abfragen -

    if (document.mailer.bewertung_note.options[document.mailer.bewertung_note.selectedIndex].value=="bit_auswaehlen")  
    // bzw. gleich nur den Index abfragen,  
    if (document.mailer.bewertung_note.selectedIndex == 0)
    
    • oder value direkt auf dem select-Feld abfragen (letzteres kann aber im IE manchmal problematisch sein).

    MfG ChrisB

    --
    "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
    1. [code lang=javascript]if (document.mailer.bewertung_note.options[document.mailer.bewertung_note.selectedIndex].value=="bit_auswaehlen")

      MfG ChrisB

      Danke ChrisB mit dieser Lösung geht es im IE sowie im Firefox.