xpfreund: /Javascript display und visibility

Hallo,

Ich hab mir ne Selectbox gebaut, die bei Auswahl von "ausw" die checkbox anzeigt und sonst entfernt:
<code lang=html>
<td colspan=3><select name='serie' onchange='adde(this.value)'>
  <option value='mofr'>Mo-FR</option>
  <option value='ausw'>Auswahl</option></select>
<tr id=wahl style='visibility:hidden;'>
<td colspan=3><input type=checkbox name=auswahl[] value=mo>Montag
<input type=checkbox name=auswahl[] value=di>Dienstag
</td></tr>
</code>
<code lang=javascript>
function adde(ergebnis) {
         var auswahl = 'ausw';
         if (ergebnis == auswahl) {
         dazu();
         }
         else {loeschen();
         }
         }
function loeschen() {
document.getElementById('wahl').style.visibility='hidden' //den tr "wahl" auf versteckt setzen
//document.getElementById('wahl').style.display='none'
}
function dazu() {
document.getElementById('wahl').style.visibility='visible' //den tr anzeigen
//document.getElementById('wahl').style.display='block'
}
</script>
</code>
Jetzt die Frage: Wenn ich visibility nehme, werden im IE6 und Netscape 7.1 die Checkboxen ohne Text angezeigt, im Fox ok. Wenn ich aber display nehme, wirds im IE und Netscape richtig angezeigt, aber nicht im Fox. Wie schaffe ich das entweder durch Browserunterscheidung beides zu nutzen oder eine Lösung für alle zu bekommen?

gruß aus Senftenberg am See

  1. Hello out there!

    Jetzt die Frage: Wenn ich visibility nehme, werden im IE6 und Netscape 7.1 die Checkboxen ohne Text angezeigt, im Fox ok. Wenn ich aber display nehme, wirds im IE und Netscape richtig angezeigt, aber nicht im Fox.

    Und wenn du nicht das eine oder andere nimmst, sondern beides?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hi,

      Und wenn du nicht das eine oder andere nimmst, sondern beides?

      dann hat er noch immer das Problem, dass er ein table-row-Element zu einem block-Element macht.

      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. Hallo,

        Hi,

        Und wenn du nicht das eine oder andere nimmst, sondern beides?

        dann hat er noch immer das Problem, dass er ein table-row-Element zu einem block-Element macht.

        Genauso ist es. Was schlagt ihr vor? Ersetzen, ändern, sonstiges?

        gruß aus Senftenberg am See

      2. Hello out there!

        dann hat er noch immer das Problem, dass er ein table-row-Element zu einem block-Element macht.

        Das sollte man in der Tat nicht tun. (Es sei denn, man beabsichtigt genau dies.)

        Zum Anzeigen müsste es also
          document.getElementById('wahl').style.display='table-row'
        heißen. Nur dass IEs zu blöd dafür sind. Aber auf den Defaultwert kann man ja mittels
          document.getElementById('wahl').style.display=''
        setzen. Dann bedarf es wohl auch keines Herumspielens mit der 'visibility'-Eigenschaft.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)