Bonjour,

Je patauge depuis un certain temps avec ce problème: j'essaie de modifier un code trouvé dans un bouquin

1) un formulaire

2) un select dans lequel je mets quelques options imbriquées c'est à dire si la balise parente est sélectionnée, l'option imbriquée l'est également. l'inverse n'est pas vrai.

3) problème : je voudrais récuperer les options sélectionnées et les lire dans une fonction resultats()

LA SELECTION IMBRIQUEE SE FAIT NORMALEMENT MAIS JE NE PARVIENS PAS A RECUPERER LES OPTIONS CHOISIES DANS resultats() lorsque j'appuie sur envoyer

Je m'interroge égélement sur l'utilité de return false dans la fonction checkSelect()


voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>sélection</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
 
 
window.onload = setupEvents;
function setupEvents(evnt) {
   document.someForm.selectOpts.onchange = checkSelect;
 
}
 
 
function checkSelect() {
 
   opts = document.someForm.selectOpts.options;
   for (var i = 0; i < opts.length; i++) {
      if (opts[i].selected) {
          switch(opts[i].value) {
            case "Opt1" : opts[i + 1].selected = true;
                          break;
            case "Opt3" : opts[i + 1].selected = true;
                          break;
            case "Opt4" : opts[i + 1].selected = true;
                          break;
          }
      }
   }
 
   // pas de traitement côté serveur
   return false;
}
 
function resultats() 
{
 
}
 
   //]]>
</script>
</head>
<body>
<form name="someForm"  onSubmit="resultats()" >
<select name="selectOpts"   multiple onchange = "checkSelect()"   >
<option value="Opt1">Option Un</option>
<option value="Opt1a"> -- Option Un A</option>
<option value="Opt2">Option Deux</option>
<option value="Opt3">Option Trois</option>
<option value="Opt3a"> -- Option Trois A</option>
<option value="Opt4">Option Quatre</option>
<option value="Opt4a"> -- Option Quatre A</option>
<option value="Opt5">Option Cinq</option>
</select>
 
<input type="submit" value="Envoyer"  />
</form>
</body>
</html>