OVH Cloud OVH Cloud

selectedIndex si size=1

3 réponses
Avatar
Bul
Bonjour à tous,
================================================================================
<select id="s1">
<option>1</option>
<option>2</option>
</select>
<select id="s2"
size=2>
<option>1</option>
<option>2</option>
</select>
<script type="text/javascript">
alert( window.document.getElementById("s1").selectedIndex + "\r\n" +
window.document.getElementById("s2").selectedIndex );
</script>
================================================================================
avec FireFox comme avec Internet Explorer,
selectedIndex de s1 = 0 et selectedIndex de s2 = -1
donc, si size=1 (ou est omis) dans un select, la 1ère ligne est sélectionnée par défaut ???
c'est normal ? ou je fais une erreur où ?
merci d'avance.

3 réponses

Avatar
ASM
donc, si size=1 (ou est omis) dans un select, la 1ère ligne est sélectionnée par défaut ???
c'est normal ? ou je fais une erreur où ?


à mon idée :
il me semble normal que s2 (puisque ouvert sur plusieurs options)
ne puisse renvoyer de selectedIndex
pour cela il eût fallu qu'au moins un des options ait eu l'attribut 'selected'
ou soit effectivement sélectionné

quant à s1, normal que selectedIndex=0 puisqu'aucun autre option
n'a l'attribut 'selected' et que celui montré est le 1er.

bref, tu ne fais pas d'erreur
mais tu n'aides pas le navigateur
en ne spécifiant pas de 'selected'

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Thibault
Bonjour à tous,
=============================================================================== > <select id="s1">
<option>1</option>
<option>2</option>
</select>
<select id="s2"
size=2>
<option>1</option>
<option>2</option>
</select>
<script type="text/javascript">
alert( window.document.getElementById("s1").selectedIndex + "rn" +
window.document.getElementById("s2").selectedIndex );
</script>
=============================================================================== > avec FireFox comme avec Internet Explorer,
selectedIndex de s1 = 0 et selectedIndex de s2 = -1
donc, si size=1 (ou est omis) dans un select, la 1ère ligne est sélectionnée par défaut ???
c'est normal ? ou je fais une erreur où ?
merci d'avance.



Bonjour,
Effectivement dans un select de taille 1, souvent défini simplement avec
<select> sans mettre d'attribut size, la valeur du premier élement est
déja visible sur le menu déroulant, c'est pourquoi beaucoup de
webmaster, décident d'utiliser une première valeur du type :

<select name="monchoix">
<option value="">Choisissez</option>
<option value="1">choix 1</option>
<option value="2">choix 2</option>
</select>

Afin qu'un formulaire soumis immédiatement, renverra monchoix=""

--
Thibault

Avatar
Bul
merci à vous, c'est très clair.
c'était le selectedIndex=0 qui me génait,
comme vous me dites que c'est normal,
on va faire avec.
@+