Comment recuperer la valeur d'un optgroup [Résolu]

jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 13:20 - Dernière réponse : jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 24 janv. 2008 à 10:30
bonjour j'ai une liste deroulante et je voudrais recuperer la valeur du optgroup qui contient la valeur selectionnée (je travaille en php)
merci
Afficher la suite 

Votre réponse

49 réponses

Meilleure réponse
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 23 janv. 2008 à 19:05
3
Merci
Si tu ne voit pas l'alerte l'ERREUR est donc ailleurs
un petit exemple qui marche
<html>
<head>
<script type= "text/javascript">
//---------------------
function Get_Optgroup(){
  var O_Form   = document.form2;   // Ref. a la form
  var O_Select = O_Form.style;     // Ref. au select
  var O_Hidden = O_Form.rubrique;  // Ref. au champ hidden
  O_Hidden.value = O_Select.options[O_Select.selectedIndex].parentNode.label;
  return( O_Hidden.value);
}
//------------------
function CheckForm(){
  alert( Get_Optgroup());
  return(true);
}
</script>
</head>

<form name ="form2" onsubmit="return(CheckForm())">

Sp&eacute;cialit&eacute;
<select name ='style' id='style'>
<optgroup label ="Musique">
  <option value="Rap">Rap</option>
  <option value="Rnb">Rnb</option>
</optgroup>
<optgroup label ='DJing'>
<option value='Hip Hop'>Hip Hop</option>
<option value='Soul'>Soul</option>
</optgroup>
</select>

</form>

</html>
;O)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de PetoleTeam
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 13:54
0
Merci
Bonjour,

    lu chez SelfHtml

    tant qu'au php, suffit de lui transmettre....

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:07
0
Merci
et comment on lui transmet??
Commenter la réponse de jphilippev
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:12
0
Merci
et pour compléter
<select name="nom" size="1"
             onChange="alert(this.options[this.selectedIndex].parentElement.label);">
testé uniquement avec IE, pour FF pas grand chose à modifier
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:15
0
Merci
comment on transmet ?
    dans un formulaire, tous les .value des champs qui ont un name le sont automatiquement
        si method="get", $_GET["name du champ"], si "post" : $_POST
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:21
0
Merci
merci ca c'est ok mais le truc c'est que je veux recuperer differement les deux

<select name='style'>
<optgroup label ='Musique'>Musique
<option value='rnb'>rnb</option>
<option value='soul'>soul</option>
</optgroup>
<optgroup label='chant'>Chant
<option value='classique'>classique</option>
</optgroup>
</select>

si on clique sur rnb je veux recuperer rnb et musique
c'est la que je seche en fait
Commenter la réponse de jphilippev
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:22
0
Merci
pour rnb c'est $_POST['style'] mais pour musique???
Commenter la réponse de jphilippev
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:27
0
Merci
    mémorise au submit du formulaire,
            dans un   le .label voulu



    $_POST["style"] est = au value de la ligne sélectionnée.
    $_POST["toto"]  sera = au label de l'optgroup

( j'éviterais 'style' comme name... par principe )
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:28
0
Merci
mais si ça se trouve, en mettant un name aux optgroup
    peut-être est-ce transmis ?
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:33
0
Merci
ah tu pense qu'en nommant les optgroup on peux les envoyer je vais tester mais si par hasard ca ne fonctionne pas le input hidden je le met ou? et comment je lui transmet la valeur de l'optgroup?
Commenter la réponse de jphilippev
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:38
0
Merci
ca n'a pas l'air de fonctionner ( en nommant les optgroup )
<optgroup name='rubique' label ='Musique'>
Commenter la réponse de jphilippev
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:44
0
Merci
>>le input hidden je le met ou?
    euh... dans le formulaire qui sera transmis

>>et comment je lui transmet la valeur de l'optgroup?
    euh... comme expliqué

    <form onsubmit= "
            champ hidden .value =
            select.options[select.selectedIndex].parentElement.label;
                                "   ...

    remplacer "champ hidden" et "select" par ce qu'il faut
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:47
0
Merci
euh j'ai deja un truc dans le onsubmit='return checkform'
Commenter la réponse de jphilippev
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:48
0
Merci
>>ca n'a pas l'air de fonctionner ( en nommant les optgroup )
    c'était une suggession, un test à faire
    si tu as tout fait comme il fallait, dommage, car tel
       que tu veux faire, javascript obligatoire donc.



<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 14:52
0
Merci
>>euh j'ai deja un truc dans le onsubmit='return checkform'
    et alors ?
    soit tu ajoutes en fin de checkform
       et d'ailleurs ce n'est pas return checkform() ? plutôt ?
    soit tu fait
       <form onsubmit="mémorisation de l'optgroup; return checkform();"   ...
    ou autre

   
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 14:58
0
Merci
d'accord donc peut on en faire une fonction (ou un truc du genre lol) dans le checkform  alors

fonction changerubrique(rubrique){
document.form2.rubrique.value = style.options[style.selectedIndex].parentElement.label;
}

(je vais changer style plus tard c'est vrai que c'est mieux pour eviter les conflit mais faut que je modifie ma table et toute les pages donc...)
Commenter la réponse de jphilippev
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 15:02
0
Merci
ah pardon je savais pas que l'on pouvait en mettre plusieurs a la suite...
au moins j'aurais apris des choses aujourdhui je me sens moins con (enfin...un ti peu)

sisi cest bien checkform() jai tapé trop vite
Commenter la réponse de jphilippev
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 15:05
0
Merci
soit    dans checkform() soit tu met l'instruction, soit l'appel à une fonction
soit    dans le onsubmit tu ajoutes l'instruction, ou l'appel à une fonction.
soit    et/ou... c'est comme tu le sens.
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 22 janv. 2008 à 15:09
0
Merci
>>document.form2.rubrique.value = style.options[style.selectedIndex].parentElement.label;
    pour IE
    pas compatible avec les autres navigateurs : document.name_du_formulaire.name_du_select
          ou document.getElementById("id_du_select")   si <select id="id_du_select"...>




<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Commenter la réponse de cs_bultez
jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Dernière intervention
5 décembre 2008
- 22 janv. 2008 à 15:16
0
Merci
document.getElementById("id_du_select")   cela me donnera la valeur de l'optgroup??
Commenter la réponse de jphilippev

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.