advance: Absendewert von Option-Einträgen im IE7

Im Moment raffe ich es einfach nicht mehr beim Auslesen von Options-Werten mit IE7. Was mit Opera und Firefox einwandfrei funktioniert will im IE7 einfach nicht! Wer hat mir bitte einen Tip?

Folgende Situation:

<form action="#">
    <select name="Pizza" size="5" onchange="alert(this.options[this.options.selectedIndex].value)">
      <option>Pizza Napoli</option>
      <option>Pizza Funghi</option>
      <option>Pizza Mare</option>
    </select>
</form>

Bei Opera und FF werden die korrekten Werte angezeigt z.B. "Pizza Napoli". Beim IE7 wird nichts angezeigt! Wo klemmts denn?

NB. Ich möchte ganz bewusst NICHT mit value="Pizza Napoli" arbeiten. Das funktioniert in allen drei Browsern!

Gruss, advance

  1. Hi,

    <select name="Pizza" size="5" onchange="alert(this.options[this.options.selectedIndex].value)">
          <option>Pizza Napoli</option>
          <option>Pizza Funghi</option>
          <option>Pizza Mare</option>
        </select>
    Bei Opera und FF werden die korrekten Werte angezeigt z.B. "Pizza Napoli". Beim IE7 wird nichts angezeigt! Wo klemmts denn?

    ich sehe bei keiner der <option>-Elemente ein value-Attribut.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      <select name="Pizza" size="5" onchange="alert(this.options[this.options.selectedIndex].value)">
            <option>Pizza Napoli</option>
            <option>Pizza Funghi</option>
            <option>Pizza Mare</option>
          </select>
      Bei Opera und FF werden die korrekten Werte angezeigt z.B. "Pizza Napoli". Beim IE7 wird nichts angezeigt! Wo klemmts denn?

      ich sehe bei keiner der <option>-Elemente ein value-Attribut.

      Die sind implizit vorhanden:

      Default-Wert für das value-Attribut von option-Elementen ist der Inhalt des Elements - siehe http://www.w3.org/TR/html4/interact/forms.html#adef-label-OPTGROUP (ist leider nur ein Anker in der Nähe, nicht direkt beim option-Element)

      value       CDATA          #IMPLIED  -- defaults to element content --

      IE ist wohl zu doof dazu, das auch für Javascript verfügbar zu machen (beim Submit wird's richtig gemacht).

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. hallo,

    ... alert(this.options[this.options.selectedIndex].value)

    des Weiteren prüfe doch mal, wer die Eigenschaft selectedIndex hat
    http://de.selfhtml.org/javascript/objekte/options.htm#selected_index

    fg planB

  3. Hallo,

    Im Moment raffe ich es einfach nicht mehr beim Auslesen von Options-Werten mit IE7. Was mit Opera und Firefox einwandfrei funktioniert will im IE7 einfach nicht! Wer hat mir bitte einen Tip?

    wenn der IE7 bei value nur auf das value-Attribut und nicht auf den Text zugreift und Du den Text haben möchtest, dann probiere mal:

      
    alert(this.options[this.options.selectedIndex].firstChild.nodeValue)  
    
    

    (ungetestet)

    Gruß
    Olaf

  4. NB. Ich möchte ganz bewusst NICHT mit value="Pizza Napoli" arbeiten. Das funktioniert in allen drei Browsern!

    Besten Dank für eure Beiträge. Wie erwähnt, dass es mit den value-Angaben funktioniert, weiss ich. Ich wollte eben den Optionstext erhalten. Habe es unterdessen herausgefunden. So geht's und müsste ggf. in der SELFHTML-Doku auch erwähnt werden, da es neuerdings bei fehlenden value-Angaben nicht mehr automatisch durch den Optionstext ersetzt wird (zumindestens beim IE7).

    <form action="#">
        <select name="Pizza" size="5" onchange="alert(this.options[this.options.selectedIndex].text)">
          <option>Pizza Napoli</option>
          <option>Pizza Funghi</option>
          <option>Pizza Mare</option>
        </select>
    </form>

    Gruss, advance