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

jphilippev 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 13:20 - Dernière réponse : jphilippev 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention
- 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 

49 réponses

Répondre au sujet
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 23 janv. 2008 à 19:05
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PetoleTeam
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 13:54
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:07
0
Utile
et comment on lui transmet??
Commenter la réponse de jphilippev
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:12
0
Utile
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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:15
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:21
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:22
0
Utile
pour rnb c'est $_POST['style'] mais pour musique???
Commenter la réponse de jphilippev
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:27
0
Utile
    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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:28
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:33
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:38
0
Utile
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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:44
0
Utile
>>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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:47
0
Utile
euh j'ai deja un truc dans le onsubmit='return checkform'
Commenter la réponse de jphilippev
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:48
0
Utile
>>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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 14:52
0
Utile
>>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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 14:58
0
Utile
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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 15:02
0
Utile
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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 15:05
0
Utile
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 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 22 janv. 2008 à 15:09
0
Utile
>>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 254 Messages postés lundi 27 février 2006Date d'inscription 5 décembre 2008 Dernière intervention - 22 janv. 2008 à 15:16
0
Utile
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.

comment recuperer la valeur d'un optgroup - page 2