jokerss16
Messages postés2Date d'inscriptionmercredi 16 août 2006StatutMembreDernière intervention 2 novembre 2009
-
31 mars 2008 à 16:49
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
31 mars 2008 à 17:46
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.
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 31 mars 2008 à 17:25
Salut,
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 !