Bonjour à tous,
nouveau sur le forum que j'écume depuis quelques jours, je vous livre mon souci.
Attention, je suis débutant en javascript. Merci de votre compréhension. Donc voici ce que je cherche à faire :
Je souhaiterai mettre à disposition dans un formulaire un bouton ajoutant des lignes de calcul dont le les résultats seraient additionnés dans le principe d'un devis, facture ou panier. Pour le moment j'en suis seulement à l'ajout de ligne, je bosserai l'addition et la récupération des valeurs ensuite.
J'ai péché sur le web et aussi sur ce forum différents bouts de scripts que je tente de mettre à ma sauce dont celui-ci : https://www.webrankinfo.com/forum/aide-ajout-champs-javascript-t160283.html
Certes pour le puriste je suis loin du tout beau tout propre. Mais pour le moment le calcule s’intègre et il est opérationnel à chaque ligne, sauf que....
Sauf que, à chaque ajout d'une ligne toutes les données s'effacent !!! J'imagine qu'il serait plus efficace de travailler avec la création d'une fonction calcul () mais si la créer me semble jouable, l'intégrer dans une boucle beaucoup moins (en tout cas pour le moment je sèche).
Voila je vous remercie par avance de vos conseils, liens, bref tout ce qui me permettrai d'avancer. Je suis plus php donc les neurones se touchent pour assimiler javascript sans confusion.
Belle journée à vous,
Christophe
nouveau sur le forum que j'écume depuis quelques jours, je vous livre mon souci.
Attention, je suis débutant en javascript. Merci de votre compréhension. Donc voici ce que je cherche à faire :
Je souhaiterai mettre à disposition dans un formulaire un bouton ajoutant des lignes de calcul dont le les résultats seraient additionnés dans le principe d'un devis, facture ou panier. Pour le moment j'en suis seulement à l'ajout de ligne, je bosserai l'addition et la récupération des valeurs ensuite.
J'ai péché sur le web et aussi sur ce forum différents bouts de scripts que je tente de mettre à ma sauce dont celui-ci : https://www.webrankinfo.com/forum/aide-ajout-champs-javascript-t160283.html
Code:
<script type="text/javascript">
var nlignes = 0;
function Ajouter(){
nlignes++;
var obj = document.getElementById('saisies');
obj.innerHTML = obj.innerHTML +'<div id="champ'+nlignes+'"> Produit '+nlignes+' <input type="text" size="4" id="P'+nlignes+'" name="P'+nlignes+'" value="" /> Quantité '+nlignes+' <input type="text" id="QT'+nlignes+'" name="QT'+nlignes+'" value=""/> <input style="width:10%;" id="calc'+nlignes+'" name="calc'+nlignes+'" type="button" value="calculer" onClick="window.document.getElementById(\'output'+nlignes+'\' ).value = window.document.getElementById(\'P'+nlignes+'\').value * window.document.getElementById(\'QT'+nlignes+'\').value;"/> Somme'+nlignes+' <input type="text" id="output'+nlignes+'" name="output'+nlignes+'" value=""/><input type="button" value="supprimer" onclick="document.getElementById(\'saisies\').removeChild(document.getElementById(\'champ'+nlignes+'\'));";" /></div>';
}
</script>
<Form>
<Input Type="Button" Value="Ajout ligne" OnClick="Ajouter();">
<br>
<div id="saisies"></div>
</Form>
Certes pour le puriste je suis loin du tout beau tout propre. Mais pour le moment le calcule s’intègre et il est opérationnel à chaque ligne, sauf que....
Sauf que, à chaque ajout d'une ligne toutes les données s'effacent !!! J'imagine qu'il serait plus efficace de travailler avec la création d'une fonction calcul () mais si la créer me semble jouable, l'intégrer dans une boucle beaucoup moins (en tout cas pour le moment je sèche).
Voila je vous remercie par avance de vos conseils, liens, bref tout ce qui me permettrai d'avancer. Je suis plus php donc les neurones se touchent pour assimiler javascript sans confusion.
Belle journée à vous,
Christophe