Bonjour
J’ai un petit problème dans la gestion de mon JS pour ajouter des lignes de manière automatisée en fonction des besoins dans un formulaire
voila ce que j ai tenté de faire:
le formulaire:
echo '<div id="divcompteur"></div>';
?>
<div id="divsource">
<tr><td>Modèle:</td><td><input name="designation[<?php echo $y;?>]" type="text" onclick="window.open('choix_article.php?param=designation<?php echo $y;?>','Choisir','width=500,height=250');" value="<?php echo $designation[$y];?>" ></td>
<td>Prix achat:</td><td><input name="prix_achat[<?php echo $y;?>]" type="text" maxlength="10" size="5" value="" onClick="verifprixachat(designation<?php echo $y;?>.value,<?php echo $y;?>)"></td>
<?php if($modifier=='1') {?>
<td>Quantité:</td><td><input name="quantite[<?php echo $y;?>]" type="text" maxlength="200" size="5" value="<?php echo $quantite[$y];?>"></td>
<td>Coeff:</td><td><input name="coeff[<?php echo $y;?>]" type="text" maxlength="10" size="5" value="<?php echo $coeff[$y];?>"></tr>
<?php } else {?>
<td>Quantité:</td><td><input name="quantite[<?php echo $y;?>]" type="text" maxlength="200" size="5" value="0"></td>
<td>Coeff:</td><td><input name="coeff[<?php echo $y;?>]" type="text" maxlength="10" size="5" value="1"></td>
<?php }
if($option[$y]=='1')
echo '<td>Option:</td><td><input name="option['.$y.']" type="checkbox" value="1" checked></td></tr>';
else
echo '<td>Option:</td><td><input name="option['.$y.']" type="checkbox" value="1"></td></tr>';
?>
</div>
<!-- Bouton permettant la copie de la liste modèle -->
<button onclick="addSelect()" type="button">Ajouter Liste</button>
<!-- Zone, vide au début, dans laquelle les nouvelles listes seront ajoutées -->
<div id="divCible"></div>
J’ai donc instaurer 3 div:
Une qui contiendra le compteur issu du code JS qui vient après (variable i)
Une autre qui contient les lignes a dupliquer (toute la portion des input)
Une dernière qui contient l’endroit ou il doit ajouter le code copié
Maintenant la fonction javascript "addSelect appelée par le bouton:
<script language="javascript">
var i=0;
function addSelect()
{
i++;
// On récupère l'endroit où devra être ajouté la liste
var divCible = document.getElementById("divCible");
// On récupère l'endroit où devra être ajouté le compteur
var divcompteur = document.getElementById("divcompteur");
// On récupère la liste modèle
var selModele = document.getElementById("divsource");
// On la clone dans une nouvelle variable
var nvxSel = selModele.cloneNode(true);
// (pour la présentation, on crée un retour à la ligne)
var br = document.createElement("br");
// On ajoute tout ça à l'emplacement voulu
divcompteur.value=i;
divCible.appendChild(nvxSel);
divCible.appendChild(br);
}
</script>
En gros actuellement quand on appuie sur le bouto, ca ajoute…une ligne blanche (en gros clairement le “br”) et c’est tout.
Qu’en pensez vous?
Je précise que le compteur a comme seule utilité d’incrémenter les tableaux de variable présents dans les champs input.
merci d’avance
Edité le 10/07/2008 à 20:54