Claus Peter: Opera und new option

Beitrag lesen

Options selektiert. Opera 8.0 Final Linux. Offenbar liegt es
daran, dass dein select bereits eine leere Option enthält, du
aber mit options[0] = new Option(...) beginnst.

Hallo Mathias,

vielen Dank für diesen Hinweis, das wars! Wenn man vor dem Überschreiben der Liste die Werte mit

pFormElt.options[x] = null;

setzt, dann funktioniert es.

Das mag ein Opera-Fehler sein, er setzt nämlich alles außer dem selected-Wert,

Es ist eine Opera Fehler, und leider nicht der einzige.

Ich verstehe die Bedeutung von DefaultSelected in diesem Kontext nicht. Wozu braucht man das? Man liest selected doch eh nie als Attributwert in dem Sinne aus.

So, wie ich es verstehe, brauchst Du DefaultSelected (der vorletzte Wert in new option() )in Zusammenhang mit dem ResetButton des Formulars. Darin werden die Werte gespeichert, bevor der User Änderungen durchführt. Den ResetButton habe ich jetzt durch eine Funktion ersetzen müssen, weil es mit Opera nicht funktionierte.

alert("index: " + j + "; value:" + pOption.value + "; selected? - " + pOption.selected);

Ich weiß ja nicht, worauf du mit der Abfrage von pOption.selected hinauswillst

Das war Debug Code ;-)) Unter IE liefert die Ausgabe sogar brauchbare Werte. Eine ältere Opera Version liefern generell false, Opera 8.00 generell undefined. Das hatte mich dann leider auf den Holzweg bei der Fehlersuche geführt.

<select id="L0" multiple size="5" name="Test">
    <option></option> <!-- according to W3 Test -->
  </select>

»W3 Test«?

Wenn Du im Opera die Testfunktion benutzt, dann wird die aktuelle Seite an einen Server vom W3 Konsortium (http://validator.w3.org/check#) geschickt und der HTML Syntax auf Konformität getestet. Kann manchmal nicht schaden. In diesem Fall ist der Syntaxchecker über das leere Select gestolpert. Da ich das leere Select nur als Platzhalter verwende, habe ich eine leere Option eingefügt. Danach war der Syntaxckecker zufrieden und Opera kleiner 8 auch ;-))

Nochmals vielen Dank und viele Grüße

Claus Peter