angekarl
Messages postés6Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention17 novembre 2010
-
4 août 2009 à 12:15
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
4 août 2009 à 18:45
Bonjour a tous
J'ai créée un formulaire de saisie de notes d'élèves en php.
Pour accélérer la saisie, je désire que le curseur se déplace automatiquement au champ suivant comme par exemple pour la date de naissance ou pour les notes de maths, anglais, français, physiques, économie .... ainsi de suite.
Merci
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 4 août 2009 à 12:53
Bonjour,
>>un formulaire...en php.
ça n'existe pas.
un formulaire, c'est du html
ce html pouvant être créé par le php, certes.
>>je désire que le curseur se déplace
>>automatiquement au champ suivant
"il suffit", lorsque le "champ n" est rempli,
de mettre le focus sur le 'champ n+1"
[ champ_voulu.focus() ]
donc, pour chaque champ,
lors d'un onkeyup par exemple, contrôler si le
champ est "complet "
__ facile pour une date structurée,
[ encore faut-il gérer les modifs (!!!!) ]
__ moins simple pour une note
on saisit 1 , est-ce la note ou le début de 18 ?
comment savoir qu'il faut passer au champ suivant ?
tout est là !
mais si vous arrivez à fixer les règles pour un champ
donné, focus sur le suivant et basta....
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found false, index 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index -1, i 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 4 août 2009 à 15:54
pas si mal effectivement...
mais
_ comment donner la note 1 sans tabuler ?
_ comment modifier le jour dans la date ?
on saisit 23, on veut revenir modifier en 13
_ ...
angekarl
Messages postés6Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention17 novembre 2010 4 août 2009 à 16:22
toute les notes on 2 chiffres obligatoirement et si on se trompe et qu'on veut effectuer une modification ben on utilise le clavier SHIFT+TAB.
Si tu as des modifications a apporter au script cela me fera plaisir.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?