Bonjour, j'utilise la librairie prototype pour charger une page à la volé , afin de rajouter une nouvelle ligne contenant des input . voici m fct appelante
Voiai la partie html de add_ligne_ingredient
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 /***************** AJOUT LIGNE INGREDIENT RECETTE ******************************/ /*function add_ingredient(ingredient,quantite,unite,prix)*/ function add_ingredient(ingredient,Q,U,P) { if(Q!="") { //Suppression de l'élément d'option var select_liste = document.getElementById("ingredient"); //On boucle pour retrouver quelle est l'id de l'option select qui à pour valeur id_fournisseur var nom=ingredient.substring(0,ingredient.indexOf("-",0)); for(i=0;i<select_liste.length;i++) { var val=select_liste.getElementsByTagName("option")[i].value; if(val==ingredient) { var option = select_liste.getElementsByTagName("option")[i]; select_liste.removeChild(option); i=select_liste.length; //Permet de sortir de la boucle for } } //desactiver le bouton SELECT sil ny a plus d'options selectionnable if(select_liste.length<=0) { var bouton_select=document.getElementById("button_add"); bouton_select.setAttribute("disabled",true); } // --- CREATION DES VARIABLES TARGET, URL ET PARAMS --- var target = "bloc_ingredient"; var url = "./add_ligne_ingredient_recette.php"; var params = {ingredient: nom,quantite:Q,unite:U,prix:P}; // --- APPEL DE LA PAGE ASYNCHRONE --- var test = new Ajax.Updater(target, url, {parameters: params, insertion: Insertion.Bottom}); document.formRecette.quantite.value=""; document.formRecette.prix_ingredient.value=""; var ancien_total=document.formRecette.prix_total_ingredient.value; document.formRecette.prix_total_ingredient.value=Number(ancien_total)+Number(P); refresh_test(); } }
En fait je voulais savoir s'il est possible que la fonction de prototype fasse un return des nouvelles valeurs ? ou alors comment faire pour que dans refresh_test() , je récupère tout les contenu de input id="prix" , pour en faire la somme afin de calculer le total des prix.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <table class="ingredient" id="<? echo $ingredient; ?>"> <tr > <td><input id="name" class="ingredient" type="text" name="ingredient[]" value="<? echo $ingredient ; ?>" disabled /></td> <td><input class="ingredient" type="text" name="quantite[]" value="<? echo $quantite ; ?>" disabled /></td> <td><input class="ingredient" type="text" name="unite[]" value="<? echo $unite ; ?>" disabled /></td> <td><input id ="prix" class="ingredient" type="text" name="prix[]" value="<? echo $prix_final ; ?> " disabled /></td> <td><a onClick="javascript:del_ingredient(document.getElementById('name').value,document.getElementById('prix').value);" >Suppr</a></td> </tr> </table>
J'avais pensé faire quelque chose comme ca
Mais je ne sais pas trop comment faire...quelqu'un pour m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var total=0; TantQue ligne existe var a= document.getElementById("Prix").value; total+=a; Fin TantQue
Merci
Partager