Comme indiqué ci-dessous :
Copiez le code comme suit :
// début --------------- contrôles des touches haut, bas, gauche et droite
if('${iscontrol_mchntid}'.indexOf('${mchntid}')!=-1){
var textes = new Array();
//Défini à l'emplacement où se trouve le focus
variable x = 2 ;
var y = 3;
varmaxx = 0 ;
var maxy = 0;
window.onload=fonction(){
var entrées = $("[emplacement]");
pour(var i = 0; i < inputs.length; i++){
textes.push(entrées[i]);
}
pour(var je = 0; je < textes.longueur; je++){
texts[i].onfocus = new Function("setCurrent('" + texts[i].getAttribute("location") + "')");
var crtx = parseInt(texts[i].getAttribute("location").split(",")[0]);
var crty = parseInt(texts[i].getAttribute("location").split(",")[1]);
maxx = maxx < crtx ? crtx : maxx;
maxy = maxy < crty ? crty : maxy;
textes[i].onkeydown = fonction(e){
e = e || fenêtre.événement;
commutateur (e.keyCode) {
cas 38 :setPosition(x,y,38);break;//Up
cas 40:setPosition(x,y,40);break;// Suivant
cas 37 :setPosition(x,y,37);break;//gauche
cas 39 :setPosition(x,y,39);break;//right
case 45:setPosition(x,y,45);break; //La clé d'insertion/la touche retour est supprimée dans la zone de saisie et la bibliothèque d'entrée a une valeur, sinon elle est supprimée et renvoyée à la page précédente
par défaut : renvoie vrai ;
}
} ;
}
} ;
fonction setPosition(x,y,keyCode){
//Ajoutez la logique de changement dynamique de position ici ----commencer
//En montant et en descendant, seule la coordonnée y est modifiée et la coordonnée x est automatiquement modifiée.
//À gauche et à droite, seule la coordonnée x est modifiée et la coordonnée y est automatiquement modifiée.
si(keyCode == '38' && x == '3'){
si(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
si(keyCode == '40' && x == '4'){
si(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
//Ajoutez la logique de changement dynamique de position ici ----fin
si(codeclé == '38'){
x = --x;
}
si(codeclé == '40'){
x = ++x;
}
si(codeclé == '37'){
y = --y;
}
si(codeclé == '39'){
y = ++y;
}
movePosition(x,y,keyCode);
}
fonction movePosition(x1,y1,keyCode){
si(codeclé == '45'){
//Lorsque l'objet où se trouve le curseur est saisi
var st = x1+","+y1;
if($("input[location='"+st+"']").attr("type")=="text"){
var oldval = $("input[location='"+st+"']").val();
var newval = oldval.substring(0,oldval.length-1);
$("input[location=""+st+"']").val(newval);
renvoie faux ;
}autre{
histoire.go(-1);
renvoie faux ;
}
}
x1 = x1 > maxx 1 : x1;
y1 = y1 > maxy ?1 : y1;
x1 = x1 < 1 ? maxx : x1;
y1 = y1 < 1 ? maxy : y1;
var j = 0 ;
pour(; j < textes.longueur; j++){
if(texts[j].getAttribute("location") == x1 + "," + y1){
textes[j].focus();
casser;
}
}
si(j == textes.longueur){
commutateur (code clé) {
cas 38 : movePosition(--x1,y1,keyCode);break;//Up
cas 40:movePosition(++x1,y1,keyCode);break;// Suivant
cas 37 : movePosition(x1,--y1,keyCode);break;//left
cas 39 : movePosition(x1,++y1,keyCode);break;//right
}
}
}
fonction setCurrent(emplacement){
x = emplacement.split(",")[0];
y = emplacement.split(",")[1];
}
}
//fin-------------------Contrôles des touches haut, bas, gauche et droite