Ok donc en fait tu as des input. On va donc utiliser value plutôt que textContent.
Première remarque : les attributs name et id sont incorrects. La syntaxe crochets est valable pour name à condition que les crochets soient vides :
<input
name="nbchevaux[]"
>
Mais ça n’est utile que si ces input sont dans un <form> et si tu utilises ce form pour envoyer des informations au serveur.
Quant aux id, pas le droit aux caractères spéciaux, tu dois générer une chaîne à partir du numéro de la ligne, par exemple nbchevaux1 ou nbchevaux_1. Tu feras ça dans la fonction AddOneRow, mais on verra ça plus tard.
Puisque tous tes input sont nommés, on peut accéder à chacun séparément, donc pas besoin d’itérer sur les cellules de la ligne. En revanche, on a toujours besoin d’itérer sur les lignes. Tu auras donc une boucle for comme ceci :
1 2 3 4 5
| var matable = document.querySelector('#matable');
for (var i = 0, nRows = matable.rows.length; i < nRows; i++) {
var row = matable.rows[i];
} |
(Par souci de cohérence je vais utiliser querySelector partout.)
Ensuite tu récupères des références sur les input à manipuler :
1 2 3
| var inputArrivee = row.querySelector('input[name="datearrive[]"]');
var inputDepart = row.querySelector('input[name="datedepart[]"]');
var inputNbjour = row.querySelector('input[name="nbjour[]"]'); |
Ou alors, utilise les id une fois que tu les auras corrigés.
Et enfin tu manipules le contenu de ces input avec leur attribut value.
1 2 3
| var dateArrivee = new Date(inputArrivee.value);
inputNbjour.value =
; |
Pour le reste, réfère-toi à ce que je t’ai dit dans mon précédent post
Partager