- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- moltiplicare due elementi di due array
-
moltiplicare due elementi di due array
[html]
<form name="modulo" method="post" action="prova2.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> prezzo
<input name ="prezzo[]" type ="text" value="4" size="8" /></td>
<td> quantita<input name ="quantita[]" type ="text" value="1" size="8" /></td>
<td> </td>
</tr>
<tr>
<td>prezzo
<input name ="prezzo[]" type ="text" value="5" size="8" /></td>
<td>quantita<input name ="quantita[]" type ="text" value="2" size="8" /></td>
<td> </td>
</tr>
<tr>
<td>prezzo
<input name ="prezzo[]" type ="text" value="6" size="8" /></td>
<td>quantita<input name ="quantita[]" type ="text" value="1" size="8" /></td>
<td> </td>
</tr>
<tr>
<td width="9%">totale
<input type ="text" size="8" name = "j" readonly="readonly" /> </td>
<td width="37%"><input type="button" value="Calcola" onclick="esegui()" /></td>
<td width="37%"> </td>
</tr>
</table>
</form>[/html]con questo semplice script:
<script LANGUAGE="JavaScript" TYPE="text/javascript"> function esegui () { var els = document.forms["modulo"].elements["prezzo[]"], len = els.length, somma = 0; for ( var i = 0; i < len; i++ ){ somma += parseFloat(els*.value)||0; } document.modulo.j.value= parseFloat(somma); } </SCRIPT>
riesco a fare la somma dei valore delle text "prezzo". Dovrei implemantare la somma moltiplicando ogni volta il prezzo per la rispettiva quantita. Per capire in questo caso il totale deve essere 20.
Spero che questa volta qualcuno possa aiutarmi
-
Non funziona modificando lo script così
function esegui () { var els = document.forms["modulo"].elements["prezzo[]"]; var prz = document.forms["modulo"].elements["quantita[]"]; len = els.length; somma = 0; for ( var i = 0; i < len; i++ ){ somma += (parseFloat(els*.value) * parseFloat(prz*.value))||0; } document.modulo.j.value= parseFloat(somma); } ```? Forse bisognerebbe però anche controllare che il prezzo e la quantità siano maggiori di 0.
-
Ops... ho visto che hai già risolto nell'altro post. Forse dovrei rispondere prima ai più recenti.
-
grazie mille