Bonjour,
Je bloque totalement sur un problème d'ajout de ligne à un tableau.
Habituellement, j'ai un bouton add qui fait appel à une fonction js qui rajoute des lignes au tableau considéré. Cette fonction crée les cellules nécessaires ainsi que leur contenu.
Or aujourd'hui je bloque totalement à cause de la nature de la cellule que je souhaite rajouter.
Pour mieux comprendre : voici une page de test une page de test faite à l'arrache et pour l'exemple.
Pourquoi je bloque ?
Habituellement, ma fonction de rajout de ligne crée chaque cellule du tableau avec son contenu puis fait appel à une fonction qui renumérote chaque champ.
Mais ici je souhaite utiliser un calendrier js. Habituellement, son utilisation ne me pose pas de problème, car je connais exactement le nombre de calendriers que ma page doit gérer. Or ici, ce n'est pas le cas, puisque l'utilisateur peut en ajouter autant de ligne qu'il veut et donc de calendrier.
Ici c'est la structure même du code qui me bloque :
exemple :
Chaque champ input text destiné à recevoir la date est suivi d'un code JS qui permet d'afficher le calendrier et qui permet de l'utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <input type="text" tabindex="" name="date_echeance_client2" id="date_echeance_client2" value="" size ="8" > <script language="JavaScript" type="text/javascript"> <!-- /** Calendrier Date */ function calendar2Callback(date, month, year) { document.forms['reservation'].date_echeance_client2.value = date + '-' + month + '-' + year; } calendar2 = new dynCalendar('calendar2', 'calendar2Callback'); //--> </script>
Je bloque car je ne voit pas comment définir ma fonction de rajout de ligne de telle sorte qu'elle me rajoute la partie JS correspondant à mon calendrier.
Je sais faire :
mais je ne sais pas comment dire rajoute moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function ajoutLigneAuTableauClient(num_tbody) { var tbl = document.getElementById('echeancier_client'); // ajout d'une ligne var row = tbl.tBodies[num_tbody].insertRow(-1); // Cellule 1 : Champ date + calendrier var newCell1 = row.insertCell(1); var dateEcheance = document.createElement('input'); dateEcheance.setAttribute('type','text'); dateEcheance.setAttribute('size','8'); dateEcheance.setAttribute('name','date_echeance_client3'); dateEcheance.setAttribute('value',''); dateEcheance.setAttribute('id','date_echeance_client'); newCell1.appendChild(dateEcheance );
sachant que par la suite tout doit être renuméroter ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script language="JavaScript" type="text/javascript"> <!-- /** Calendrier Date de depart */ function calendar2Callback(date, month, year) { document.forms['reservation'].date_echeance_client2.value = date + '-' + month + '-' + year; } calendar2 = new dynCalendar('calendar2', 'calendar2Callback'); //--> </script>
A toute fin utile, j'utilise Dyncalendar , cliquez ici pour plus d'info
En espérant avoir exprimer le plus clairement possible mon problème je remercie par avance ceux et celles qui pourront m'aider.
Tavar
Partager