Bonsoir,

J'ai plusieurs <select> dans une page définis avec des id. Je récupére la valeur du <select> actif. Cela fonctionne
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
 
<body>
<form name="search">
<select id="quoi_1" size="6" onchange="id0=this.id;" onclick="findInPage()">
<option value="ab">ab</option>
<option value="ac">ac</option>
</select>
</div>
 
<div id="smenu2">	
<select id="quoi_2" size="6" onchange="id0=this.id;" onclick="findInPage()">
<option value="bd">bd</option>
<option value="cd">cd</option>
</select>
</div>
 
<div id="smenu3">	
<select id="quoi_3" size="6" onchange="id0=this.id;" onclick="findInPage()">
<option value="ef">ef/option>
<option value="eg">eg</option>
</select>
</div>
 
<div id="smenu4">	
<select id="quoi_4" size="6" onchange="id0=this.id;" onclick="findInPage()">
<option value="gh">avec</option>
<option value="moins">moins</option>
</select>
</div>
</form>
</body>
Mais je voudrais une autre méthode que :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
onchange="id0=this.id;"
pour récupérer cette valeur car j'ai besoin de onchange pour réinitialiser une variable.


voici mon code javascript (pas dans le détails car il fonctionne et qu'il est long):


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
 
var id0;
 
function findInPage()
{
 
var string = document.getElementById(id0).options[document.getElementById(id0).selectedIndex].value;
 
 
...
 
...
 
...
 
document.onkeypress=appuieTouche;
 
...
 
}
 
 
function appuieTouche
{
if (document.all)
  {
    if (event.keyCode==13) 
    {
    findInPage();
    }
  } 
  else 
  {
    if (e.which==13)
    { 
    findInPage();
    }
  }
}


Je pourrais faire comme ceci :


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
 
function findInPage()
{
var string = document.search.quoi_1.options[document.search.quoi_1.selectedIndex].value;
 
...
 
...
 
...
 
document.onkeypress=appuieTouche;
 
...
 
}
 
 
function appuieTouche
{
if (document.all)
  {
    if (event.keyCode==13) 
    {
    findInPage(document.search.quoi_1.options[document.search.quoi_1.selectedIndex].value);
    }
  } 
  else 
  {
    if (e.which==13)
    { 
    findInPage(document.search.quoi_1.options[document.search.quoi_1.selectedIndex].value);
    }
  }
}

Mais là je lui indique l'id du <select> càd quoi_1 et je ne vais pas faire une fonction pour chacun de mes <select> car il y en a beaucoup.


Merci pour votre aide.