Bonjour,
Je ne sais pas encore si c'est un bug de JavaScript mais je ne trouve pas de solution.
Voici le problème :
Chaque champ d'un tableau (balise input) est identifiée de manière unique. L'événement onkeypress d'un champ appelle une fonction avec 3 arguments :
- l'identifiant du champ,
- le type de données,
- le nb. de champs sur la ligne.
Cette fonction a pour but de contrôler ce qui est saisi suivant le type de données, créer une nouvelle ligne en fin de tableau lorsquei l'utilisateur appuie sur la touche Entrée dans le dernier champ de la dernière ligne du tableau, etc.
Pour que cette fonction s'applique également sur les nouveaux champs créés, il est nécessaire de la déclarer dans le propriété onkeypress de ces derniers.
La fonction est comme suit :
Lors de l'exécution, au lieu que l'argument NewFieldId soit différent pour chaque champ, il sera = FieldName + (CountField - 1) pour tous les champs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function CheckField(FieldId, DataType, CountField) { ... /** Déclaration de la fonction gérant l'événement onkeypress pour chacun des champs créés **/ for (i=0; i < CountField; i++) { NewFieldId=exp + " . " + i; NewField.onkeypress=function onkeypress (event) {return CheckField(NewFieldId, "varchar", CountField)}; } ... }
Par exemple, si CountField=3 et exp="champ" :
- l'argument FieldId de la fonction CheckField pour chaque champ sera égal à exp2, exp2, exp2 au lieu de exp0, exp1, exp2.
Merci pour vos réponses.
Partager