Bonjour � tous,
Est il possible avec JavaScript de conna�tre la valeur contenu dans l'attribut tabindex d'un champs??
et inversement de s�lectionner un champs gr�ce � la valeur de tabindex??
Merci � tous pour vos r�ponses
Version imprimable
Bonjour � tous,
Est il possible avec JavaScript de conna�tre la valeur contenu dans l'attribut tabindex d'un champs??
et inversement de s�lectionner un champs gr�ce � la valeur de tabindex??
Merci � tous pour vos r�ponses
Je ne sais pas ce que tu veux en faire mais c'est g�n�ralement une mauvaise id�e que de vouloir modifier le fonctionnement intrins�que des r�gles de navigation...
Quoiqu'il en soit tu peux depuis javascript r�cup�rer l'attribut du tabindex :
voici un script que j'avais r�cup�r� il y a quelque temps (compatible IE6, Mozilla 1.7 & Opera 8):Code:nom_champ.tabIndex
Code:
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
64
65
66
67
68
69
70
71
72
73
74
75 <form action="foo"> <input type="text" tabindex="1"> <input type="text" tabindex="2"> <input type="text" tabindex="3"> <input type="text" tabindex="4"> <input type="submit"> </form> <script type="text/javascript"> function enter(form){ var fields=form.elements, a=[]; // add ENTER listeners for(var ii=fields.length; ii-- { if(fields[ii].type=="text") { _e(fields[ii], "onkeypress", enterListener); a[a.length]=fields[ii]; } } // init the tabIndex behavior a.sort( function(a,b){ return a.tabIndex > b.tabIndex ? 1 : -1; } ); for(var j=0; j<a.length; j++){ a[j].next = a[j+1]||a[0]; } // add the submission manager _e( form, "onsubmit", function(evt){ if(form.hasEntered) { form.hasEntered=false; return false; } return true; } ); // ENTER listener function enterListener(evt){ evt=evt||window.event; var el=this; if((evt.keyCode||evt.which)==13) { form.hasEntered=true; setTimeout( function(){ el.next.focus(); }, 1 ); } } } // event manager function _e(obj, evt, func){ if(obj[evt]) { obj[evt]=(function(h){ return function(evt){ return func.call(this, evt) && h.call(this, evt); } })(obj[evt]); } else { obj[evt]=func; } } // --- test --- :-) enter(document.forms[0]); </script>
:D
Merci beaucoup pour ta r�ponse; mais j'avoue que je ne suis pas sp�cialiste JS et que j'ai un peu de mal a comprendre le script que tu m'as donn� apr�s.
Enfin j'aurai encore une petite question : est ce que je peux placer le focus sur un champs gr�ce � l'attribut tabindex? par exemple quelquechose comme ca :
Ce que j'essaie de faire est relativement simple : l'�cran sera coupe en 2 avec d'un cote un document de type PDF ou word et de l'autre un formulaire. quand l'utilisateur surlignera un mot ou un groupe de mot, celui ci sera automatiquement copier dans le champs qui avait ete prealablement s�lectionner (jusqu'ici, c fait et ca fonctionne). ensuite une fois le mot ou le groupe de mot copier dans le champs, le focus se placera sur le champs suivant (c'est la qu'intervient l'attribut tabIndex).Code:document.forms['createApplicant'].elements[field.tabIndex].focus();