J'ai un problème avec une application de gestion de données. Je dois faire des déplacements dans des tableaux généré dynamiquement (tabindex généré dynamiquement aussi) et ce de façon vertical. mais les utilisateur ne veulent pas utiliser le tab ( trop loin lorsqu'on fait de l'entré de données). Je voudrais utiliser la touche "enter" du clavier numérique pour simuler un tab.
je n'ai rien trouver qui fait vraiment le travail. Changement de focus au prochain control et préselection du texte inclus si il y a lieu.
Merci de vos conseils.
A voir également:
Key pressed javascript
Function of tab key - Meilleures réponses
Tab key press event in javascript - Meilleures réponses
Je te proposes ma solution mais il y en a peutêtre d'autres :
Ajoutes à chaques cellules l'evenement 'keypress' qui executera la fonction 'handleKeyPress' :
function handleKeyPress(event){
if(event.keyCode==27){
//ici ton script qui passe d'une ligne à l'autre
}
}
Pour le 27, je mélange toujours la touche Enter et Echap. Si ce n'est pas la bonne valeur, essaie avec 13.
</form>
<script type="text/javascript">
var t=document.getElementById("tableau");
var NbCol=t.rows[0].cells.length;
function touche_entree( e, champ )
{ if(window.event) { e = window.event; }
if ( e.type=="keypress" && e.keyCode==13 )
{ var r=champ.No+NbCol;
if (r>=document.frm.t1.length)
{ r=champ.No%NbCol; }
document.frm.t1[r].select();
document.frm.t1[r].focus();
}
}
var c;
for ( var n=0; n < document.frm.t1.length;n++ )
{ c=document.frm.t1[n];
c.No=n;
c.onkeypress = function(event)
{ touche_entree(event, this); }
}
</script>
</html>
à toi d'adapter, car on n'a pas toutes les billes.
avec tabIndex ou rowIndex/cellIndex ou ce qu'il est possible,.... si nécessaire !