select.selectedIndex, select.options[i].value

select.selectedIndex, select.options[i].value - HTML/CSS - Programmation

Marsh Posté le 24-05-2005 à 22:57:43    

Comment l'utilise-t-on dans une condition?
 
if(document.monForm.monSelect1.options[i].value=="oui" )  
{
 
ou bien
if(document.monForm.monSelect1.option.value=="oui" )
 
ou bien  
if(document.monForm.monSelect1.selectedIndex=="oui" )
 
en sachant que j'ai deux options "oui" ou "non"
et que mon champ s'appelle monSelect1.
 :jap:

Reply

Marsh Posté le 24-05-2005 à 22:57:43   

Reply

Marsh Posté le 24-05-2005 à 22:59:32    

Déjà les truc genre document.monForm.monSelect1 sont complètement obsolète depuis belle lurette ;)

Reply

Marsh Posté le 25-05-2005 à 11:41:04    

Alors je dois faire comment pour mettre une condition sur un select?
je sais pas mais là tu ne m'aides pas vraiment...

Reply

Marsh Posté le 25-05-2005 à 17:26:53    

Tu donne un id a ton select, puis tu y accedes via "getElementById".

Reply

Marsh Posté le 25-05-2005 à 17:54:37    

et tu farfouilles dans le ...options[...selectedIndex]

Reply

Marsh Posté le 26-05-2005 à 12:56:29    

Comme ça?
 
if(document.GetElementById("monSelect1" ).options[selectedIndex]=="Oui" )

Reply

Marsh Posté le 02-09-2008 à 10:13:40    

j'ai le même problème
je viens de tester les 4 possibilités présentées dans cette page :
- document.monForm.monSelect1.options[i].value
- document.monForm.monSelect1.option.value
- document.monForm.monSelect1.selectedIndex
- document.GetElementById("monSelect1" ).options[selectedIndex]
 
et la seule qui fonctionne est :
document.monForm.monSelect1.options[i].value
 
mais je ne parviens pas à comprendre pourquoi :??:  
et d'où sort ce "i" :??:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 02-09-2008 à 10:36:07    

bonjour,
 
if(document.monForm.monSelect1.options[i].value=="oui" )  
 
si monForm est le name d'un formulaire
qui contient une balise select dont le name="monSelect1" !
ça fonctionne avec tous les navigateurs
 
( et si en général on dit d'utiliser getElementById, c'est
   pour simplifier la réponse )
 
mais il y a plein de questions !
 
1° i : c'est quoi ?
si c'est la ligne sélectionnée, c'est
document.monForm.monSelect1.selectedIndex qu'il faut utiliser
sinon, i  contient quoi ?
 
2° les option sont bien du style <option value="oui">toto</option>
le value et le text, c'est pas la même chose
 
2° ce test est déclenché comment ?
le seul truc qui fonctionne avec tous les navigateurs c'est
onchange sur la balise select ( et pas onclick sur les options ! )
 
3° si le select n'a pas de size, ou si ce size=1,
la 1ère ligne est sélectionnée par défaut, avec onchange
il faudra donc cliquer sur une autre option avant que ce
ne soit effectif sur cette 1ère ligne
 
bref... ça doit marcher, quand
on aura le html adhéquat, on pourra dire....
 
Cordialement.


Message édité par bul3 le 02-09-2008 à 10:42:16

---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 02-09-2008 à 14:01:37    

aux dernieres nouvelles les récents navigateurs dont IE5.5 et IE5.0 (si je ne me trompe pas)) permettent ceci ;  

Code :
  1. <select id="toto">
  2. </select>


Code :
  1. document.getElementById('toto').value; //value est le value du option qui aura été sélectionné

Reply

Marsh Posté le 02-09-2008 à 14:08:58    


avec getElementById ou pas, c'est un raccourci permis
 
le_select.value
=
le_select.options[le_select.selectedIndex].value
 
quelle que soit la manière d'adresser le_select :
document.getElementById("toto" ) ou
document.name_formulaire.name_select
 
@+


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 02-09-2008 à 14:08:58   

Reply

Marsh Posté le 02-09-2008 à 21:52:17    

bul3 a écrit :


avec getElementById ou pas, c'est un raccourci permis
 
le_select.value
=
le_select.options[le_select.selectedIndex].value
 
quelle que soit la manière d'adresser le_select :
document.getElementById("toto" ) ou
document.name_formulaire.name_select
 
@+


le dom de niveau 1 ca fait longtemps qu'on en fait plus [:moule_bite]
d'où le fait que je force les gens à passer par un id

Reply

Marsh Posté le 03-09-2008 à 08:16:36    


1° getElementById ou pas, ça ne changera rien ici  
 
2° quand c'est un formulaire, avec liaison avec le serveur,
    un name est obligatoire. je ne vois pas pourquoi
    rajouter un id totalement inutile.
    si quand FF signale une erreur en disant "utiliser getElementById",
    c'est pour faire simple, pas pour imposer ! sinon il devrait dire :
    mettre le champ dans un formulaire, avec un name et faire
    document.formulaire.champ... c'est plus compliqué à expliquer.
 
@+


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 03-09-2008 à 08:26:33    

bul3 a écrit :


1° getElementById ou pas, ça ne changera rien ici  
 
2° quand c'est un formulaire, avec liaison avec le serveur,
    un name est obligatoire. je ne vois pas pourquoi
    rajouter un id totalement inutile.
    si quand FF signale une erreur en disant "utiliser getElementById",
    c'est pour faire simple, pas pour imposer ! sinon il devrait dire :
    mettre le champ dans un formulaire, avec un name et faire
    document.formulaire.champ... c'est plus compliqué à expliquer.
 
@+


 
le problème c'est que si tu changes les name des champs pour une raison quelconque au niveau serveur, tu dois te retaper de modifier le JS
 
Mais bon j'y suis pour rien si des gens écrivent des normes et que personne ne les respectent.
Au passage on associe toujours un champs input avec un texte dans un label, cela est surtout très utile quand tu as des checkbox, il suffit de cliquer sur le texte pour cocher la checkbox.

Code :
  1. <input id="monchamp" /> <label for="monchamp">dsfsdfsd </label>


 
Mais sinon le name sur un formulaire est deprecated depuis bien longtemps

Reply

Marsh Posté le 03-09-2008 à 08:43:24    


>>le problème c'est que si tu changes les name des champs pour une raison
>> quelconque au niveau serveur, tu dois te retaper de modifier le JS  
ah bon... et pas les ID ?
 
>>si des gens écrivent des normes
ce ne sont pas des normes !!!!
des recommandations, des conseils... avec 20 ans de retard sur l'existant,
pour ne parler uniquement de ça ! dont les navigateurs ne respectent
que ce qui les arrangent !
pas pour rien que de trés trés grands ne passent plus par l'organisme
dont tu dois parler.
 
ton exemple n'a rien à voir !  
effectivement label peut se lier à un id.
et alors ?
 
je récapépète : pour la question ici,  
ID ou NAME, là n'est pas le problème
donc si on peut cesser la polémique stérile...
 
@+


---------------
[mon site] [m'écrire]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed