Salut,
Bon j'ai cherché sur google et sur le forum mais j'ai pas trouvé de réponse.
Je souhaite lorsque l'utilisateur de la page rempli le formulaire, que lorsqu'il a rempli completement la zone, passer à la zone suivante.
Pour faire ça, j'ai modifié une fct js trouvé sur le net.
Je veux que cette fonction soit la plus globale possible, c'est à dire que je n'ai pas à spécifier la zone suivante où le focus doit aller.
La fonction fait bien son boulot sauf lorsqu'il y a une zone du formulaire pas visible.
Dans ce cas, le focus est fait dessus cette zone et ça ne fonctionne pas (logique).
Je pensais tester la visiblité de ma zone avant de faire le focus de manière à écarter ce cas de figure.
Le problème c'est que le style.display est au niveau du "td" et dc je n'arrive pas à récupérer l'état visible ou invisible de la zone lors du parcours des zones dans le js.
Code :
- <html>
- <head>
- <script language="javascript">
- function sautTabInput(InputCourant,NomFormulaire)
- {
- if (InputCourant.value.length > InputCourant.size - 1)
- {
- var f = document.getElementById(NomFormulaire);
-
- if(f)
- {
- var champs = f.getElementsByTagName("input" );
-
- for(var i=0, n=champs.length; i<n; i++)
- {
- if (champs[i].name == InputCourant.name)
- {
- for (var j=1;i+j<n;j++)
- {
- alert ('champs[i+j].name : ' + champs[i+j].name);
- alert ('champs[i+j].style.display : ' + champs[i+j].style.display);
- if (champs[i+j].style != 'display:none' && champs[i+j].type == 'text')
- {
- champs[i+j].focus();
- break;
- }
- }
- break;
- }
- }
- }
- }
- }
- </script>
- </head>
- <body>
- <form method="post" action="bidon.aspx" name="F_SAISIE">
- <table>
- <tr id="toto">
- <td>
- toto<input type="text" name="txttoto" size="5" maxlength="5" value="" onkeyup="javascript:sautTabInput(this,'F_SAISIE');">
- </td>
- </tr>
- <tr id="tutu">
- <td>
- tutu<input type="text" name="txttutu" size="5" maxlength="5" value="" onkeyup="javascript:sautTabInput(this,'F_SAISIE');">
- </td>
- </tr>
- <tr id="titi" style="display:none">
- <td>
- titi<input type="text" name="txttiti" size="5" maxlength="5" value="" >
- </td>
- </tr>
- <tr id="tata">
- <td>
- tata<input type="text" name="txttata" size="5" maxlength="5" value="" >
- </td>
- </tr>
- </table>
- </form>
- </body>
- </html>
|
il y aurait un moyen de detecter que la zone n'est pas visible et donc que le focus ne va pas fonctionner ?
d'avance merci
Message édité par trmassoud le 26-07-2006 à 17:15:54