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

Signaler
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
-
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

Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
vu que dans ma liste deroulante les optgroup ne sont pas selectionnable je veux juste les recuperer pour classer les reponse par thèmes et si j'ai bien compris ta reponse cela me renvoi la valeur de ma liste (donc de mes <option> et pas de mes <optgroup>)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour à tous,
pour la compatibilité DOM il est préférable d'utiliser
options[].parentNode.label
;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
merci petole mais comment on utilse cela?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
tout comme te l'a indiqué TheBultez, avant le submit, mais tu remplaces Element par Node
document.form2.rubrique.value = style.options[style.selectedIndex].parentNode.label;
;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
ok mais ya un truc que je dois pas avoir compris mais cela va bien me renvoyer la valeur de l'optgroup et pas la valeur de l'option selectionnée?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
OUI
la valeur de l'OPGROUP c'est


style.options[style.selectedIndex].parentNode.label;



la valeur de l'OPTION c'est


style.options[style.selectedIndex].text;





;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
merci petole et merci bultez de votre patience
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
ca ne fonctionne pas

jai mis ::::

document.form2.rubrique.value = style.options[style.selectedIndex].parentNode.label;

dans checkform

dans le form2 onsubmit ya 'return checkform'

en dessous de ma liste nommée style
avec des optgroups ya un champ hidden qui s'appelle rubrique
mais quand je clique sur une valeur y a rien qui ce met dedans
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Brut comme cela cela ne craint pas de marcher sauf si style fait référence à l'objet SELECT, ce que je doute.
Il te faut récupérer les différent Objets correctement.

Regardes la console d'erreur il doit y en avoir au moins une "style has no properties" ou "style is undefined" ou un truc dans ce goût.





function chekform(){
  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.opions[O_Select.selectIndex].parentNode.label;
la Suite de la fonction
}



Je pense qu'il doit s'agir de cela...!
...
;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
si si

<select name='style' ><optgroup label ='Musique'>Musique

le select est bien nommé style (je vais bientot changer le nom vu que style...)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
avec petoleteam, on va y arriver...
pour simplifier....
    <select id="toto"....>
    et utilise document.getElementById("toto")
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
rahh c'est relou y a un truc que j'ai du oublier
bon je reprend

 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.selectIndex].parentNode.label;

j'ai mis cela dans script en haut : checkForm()

puis dans le corps :

<form action='?$_SERVER[QUERY_STRING]&action=valid' method='post' name='form2' onsubmit=' return checkForm()'>

echo "<select name='style' id='style'><optgroup label ='Musique'>Musique";



foreach ($listemusique as $mus1) {
    foreach ($mus1 as $mus2) {  if ($mus2 $result['style'] && $result['rubrique'] 'Musique'){
        echo "<option value='$mus2' selected='selected'>$mus2</option>";
   } else{
       echo "<option value='$mus2'>$mus2</option>";
}}}
echo"</optgroup><optgroup label ='DJing' >DJing";
  
foreach ($listedjing as $dj1) {
    foreach ($dj1 as $dj2) {  if ($dj2 $result['style'] && $result['rubrique'] 'DJing') {
      echo "<option value='$dj2'  selected='selected'>$dj2</option>";
  }else{
       echo "<option value='$dj2'>$dj2</option>";
    }}}
echo"</optgroup
</select>$result[style]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
ah... pas le php ! on n'a rien pour voir ce que ça fait !
    la page html générée ( enfin, un extrait )

remplacer    var O_Select = O_Form.style;     // Ref. au select
par                var O_Select=document.getElementById("style");





( encore une fois pour simplifier, petoleteam avait raison
    et je préfère utiliser cette formulation, mais le select doit
    être dans le formulaire )









<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
comment ca pas le php??
ma page est gérée en php et le select est bien dans form2
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
en HTML ca donne ca...

Sp&eacute;cialit&eacute;</td>
    <td colspan='2'>
<select name='style' id='style'>
<optgroup label ='Musique'>Musique
<option value='Rap'>Rap</option>
<option value='Rnb'>Rnb</option>
<option value='Slam'>Slam</option>
<option value='Reggae'>Reggae</option>
<option value='Ragga'>Ragga</option>
<option value='DanceHall'>DanceHall</option>
<option value='Soul'>Soul</option>
<option value='Funk'>Funk</option>
<option value='Disco'>Disco</option>
<option value='Pop'>Pop</option>
<option value='Rock'>Rock</option>
<option value='Ska'>Ska</option>
<option value='Hard Rock'>Hard Rock</option>
<option value='Techno'>Techno</option>
<option value='Electro'>Electro</option>
<option value='Dance'>Dance</option>
<option value='Variété Française'>Variété Française</option>
<option value='Jazz'>Jazz</option>
<option value='Blues'>Blues</option>
<option value='Gospel'>Gospel</option>
<option value='Classique'>Classique</option>
<option value='Compositeur'>Compositeur</option>
<option value='Musique du monde'>Musique du monde</option>
</optgroup>
<optgroup label ='DJing' >DJing
<option value='Hip Hop'>Hip Hop</option>
<option value='Soul'>Soul</option>
<option value='Funk'>Funk</option>
<option value='House'>House</option>
<option value='Techno'>Techno</option>
<option value='Electro'>Electro</option>
<option value='Garage'>Garage</option>
<option value='Trance'>Trance</option>
<option value='Dance'>Dance</option>
<option value='Progressive'>Progressive</option>
<option value='Reggae'>Reggae</option>
<option value='Ragga'>Ragga</option>
<option value='DanceHall'>DanceHall</option>
<option value='Evenementiel'>Evenementiel</option>
</optgroup>
<optgroup label ='Danse' >Danse
<option value='Hip Hop'>Hip Hop</option>
<option value='Street Danse'>Street Danse</option><
option value='Ragga'>Ragga</option>
<option value='Africaine'>Africaine</option>
<option value='Latine'>Latine</option>
<option value='Orientale'>Orientale</option>
<option value='Modern Jazz'>Modern Jazz</option>
<option value='Classique'>Classique</option>
<option value='Swing'>Swing</option>
<option value='Boogie-Woogie'>Boogie-Woogie</option>
<option value='Rock n Roll'>Rock n Roll</option>
<option value='Danse de Salon'>Danse de Salon</option>
<option value='Traditionnelle'>Traditionnelle</option>
<option value='Electronique'>Electronique</option>
</optgroup>
<optgroup label ='Graphisme' >Graphisme
<option value='Illustration'>Illustration</option>
<option value='Photo'>Photo</option>
<option value='Peinture'>Peinture</option>
</optgroup>
</select>
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour les vaillants,
avec un panari à la main droite et un moufle à la main gauche je n'est écrit que des co......s, à savoir
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;
}




Il ne faut pas écrire
<optgroup label ='Musique'>Musique

mais seulement




<optgroup label ='Musique'>


pour que FireFox puisse le prendre en compte

Sinon il n'y a pas de raison que cela ne marche pas





;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
merci
javais vu le opTions mais pas le selectED  lol mais nan ca veux pas m'envoyer le p****n de rubrique dans le $_POST['rubrique'] alors que le style est bien envoyé
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
ya pas un moyen de voir en direct ce qui est selectionné?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Il faut initialiser le champ avant la soumission du formulaire.
Comment est submitté ton formulaire ?
;O)
Messages postés
253
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
1
<form action='?$_SERVER[QUERY_STRING]&action=valid' method='post' name='form2' onsubmit=' return checkForm4()'>