Quel Evénement javascript je dois appliquer sur un input text
Résolu/Fermé
abirgl
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017
-
Modifié par abirgl le 26/12/2016 à 13:27
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017 - 26 déc. 2016 à 15:18
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017 - 26 déc. 2016 à 15:18
A voir également:
- Quel Evénement javascript je dois appliquer sur un input text
- Telecharger javascript - Télécharger - Langages
- No video input enter sleep mode ✓ - Forum Matériel & Système
- Ai text classifier - Accueil - Guide Intelligence artificielle
- Input not supported - Forum Ecran
- Input signal not found ✓ - Forum Matériel & Système
1 réponse
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
26 déc. 2016 à 14:36
26 déc. 2016 à 14:36
Salut,
Effectivement la variable Longueur est égale à 4 car document.getElementById("dataTables-example").rows récupère toutes les lignes (tr) du tableau, y compris celle dans l'entête (dans thead).
Pour corriger ceci, tu peux simplement ajouter un id sur la balise tbody du tableau et récupérer les lignes à partir de cet id.
Tu as des erreurs dans ton script, pense à activer la console de développement de ton navigateur pour les voir :
- la variable arrayLignes est utilisée mais n'est jamais définie, à remplacer par la variable Lignes
- la deuxième boucle for est inutile puisque la variable j n'est pas utilisée et qu'on accède aux cellules directement via leurs indices Lignes[i].cells[1] et Lignes[i].cells[2]
- Lignes[i].cells[1] correspond à la cellule du tableau et non à la valeur de l'input. Idem pour Lignes[i].cells[2]
Enfin, puisque tu connais la valeur maximale autorisée pour le champ quantiteConsommee dès le chargement de la page, on pourrais donc remplacer l'utilisation du javascript par les attributs de validation html5 via un input type number et l'attribut max :
Ainsi plus besoin de code javascript.
Bonne journée,
Effectivement la variable Longueur est égale à 4 car document.getElementById("dataTables-example").rows récupère toutes les lignes (tr) du tableau, y compris celle dans l'entête (dans thead).
Pour corriger ceci, tu peux simplement ajouter un id sur la balise tbody du tableau et récupérer les lignes à partir de cet id.
Tu as des erreurs dans ton script, pense à activer la console de développement de ton navigateur pour les voir :
- la variable arrayLignes est utilisée mais n'est jamais définie, à remplacer par la variable Lignes
- la deuxième boucle for est inutile puisque la variable j n'est pas utilisée et qu'on accède aux cellules directement via leurs indices Lignes[i].cells[1] et Lignes[i].cells[2]
- Lignes[i].cells[1] correspond à la cellule du tableau et non à la valeur de l'input. Idem pour Lignes[i].cells[2]
Enfin, puisque tu connais la valeur maximale autorisée pour le champ quantiteConsommee dès le chargement de la page, on pourrais donc remplacer l'utilisation du javascript par les attributs de validation html5 via un input type number et l'attribut max :
<input type="number" size="5" name="quantiteConsommee[]" value="0" min="0" max="<?php echo $rowmat[2]; ?>" style="border:0px" align="center">
Ainsi plus besoin de code javascript.
Bonne journée,
26 déc. 2016 à 15:18