Comment recuperer la valeur d'un optgroup

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

49 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
23 janv. 2008 à 19:05
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)
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 13:54
Bonjour,

    lu chez SelfHtml

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

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:07
et comment on lui transmet??
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:12
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»
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:15
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»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:21
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
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:22
pour rnb c'est $_POST['style'] mais pour musique???
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:27
    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»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:28
mais si ça se trouve, en mettant un name aux optgroup
    peut-être est-ce transmis ?
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:33
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?
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:38
ca n'a pas l'air de fonctionner ( en nommant les optgroup )
<optgroup name='rubique' label ='Musique'>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:44
>>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»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:47
euh j'ai deja un truc dans le onsubmit='return checkform'
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:48
>>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»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 14:52
>>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»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 14:58
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...)
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 15:02
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 15:05
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»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 janv. 2008 à 15:09
>>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»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
22 janv. 2008 à 15:16
document.getElementById("id_du_select")   cela me donnera la valeur de l'optgroup??
0
Rejoignez-nous