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

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:24
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>)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 janv. 2008 à 16:39
Bonjour à tous,
pour la compatibilité DOM il est préférable d'utiliser
options[].parentNode.label
;O)
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 à 16:44
merci petole mais comment on utilse cela?
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 janv. 2008 à 16:59
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)
0

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

Posez votre question
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 à 17:07
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?
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 janv. 2008 à 17:49
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)
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 à 18:10
merci petole et merci bultez de votre patience
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 à 19:00
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
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 janv. 2008 à 19:50
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)
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 10:18
si si

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

le select est bien nommé style (je vais bientot changer le nom vu que style...)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 janv. 2008 à 12:54
avec petoleteam, on va y arriver...
pour simplifier....
    <select id="toto"....>
    et utilise document.getElementById("toto")
<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
23 janv. 2008 à 13:26
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]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 janv. 2008 à 14:05
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»
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 14:55
comment ca pas le php??
ma page est gérée en php et le select est bien dans form2
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 15:06
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>
0
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 à 17:06
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)
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 17:20
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é
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 17:23
ya pas un moyen de voir en direct ce qui est selectionné?
0
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 à 17:34
Il faut initialiser le champ avant la soumission du formulaire.
Comment est submitté ton formulaire ?
;O)
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
23 janv. 2008 à 17:45
<form action='?$_SERVER[QUERY_STRING]&action=valid' method='post' name='form2' onsubmit=' return checkForm4()'>
0
Rejoignez-nous