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 :
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>
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.

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 :
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 );
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
 
<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>
sachant que par la suite tout doit être renuméroter ....

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