calcola il prodotto tra 2 variabili

  • Creatore Discussione Creatore Discussione adp
  • Data di inizio Data di inizio

adp

Nuovo Utente
22 Giu 2010
11
0
0
funzione prodotto
salve ragazzi houn problema sto facendo una funzione che mi dovrebbe calcolare il prodotto tra prezzo e quantita' di un form, il prezzo è impostato a priori, la quantita' deve essere rilevata dal un campo text, poi effettuato il prodotto e poi il risultato dovrebbe andare in un altro campo text, nell'esempio sottstante in prezzo totale.
il frammento di codice è il seguente:
codice:
function calcola1 (prezzo) {
this.prezzo=prezzo
var calcola_somma1 = 0.00;
var articoli=document.getElementById('quantita');
calcola_somma1 = Math.round(prezzo * articoli * 100)/100;
document.getElementById('totale').value=calcola_somma1;



}
</script></head>
<form name="modulo">
<body>
<table align="center" width="960px" border="0" cellpadding="3">
<tr id="esterna"><td>Articolo</td><td>Immagine</td><td>Prezzo</td><td >Quantita'</td><td >Prezzo Totale</td></tr>
<script language="JavaScript" type="text/javascript">


for (i=0;i<articoli.length;i++)
{
document.write("<tr id=interna><td>",articoli.nome,"</td>")
document.write("<td align=center><img src=\"",articoli.imm,"\"border=0></td>")
document.write("<td>",articoli.prezzo,"</td>")
document.write("<td><input type=text id= quantita value=\"\" onChange=calcola1(articoli[",i,"].prezzo)></td>")
document.write("<td><input type=text id=totale value=\"0.00\"></td>")
document.write("<td><input type=button value=\"Aggiungi al carrello\" onclick=\"aggiungiCarrello(articoli[",i,"].nome,articoli[",i,"].prezzo)\"></tr>")
}

quando esco dal campo quantita il prezzo totale mi appare NAN, come mai? ho la vaga impressione che nn viene recuperato la quantita' effettiva da quantita', come posso rislvere?
grazie 100000
 
:hammer::mavieni:
grazie mille, adesso funziona pero' mi fa il conteggio solo per il I prodotto, e per il resto nulla mi esce sempre zero, che pensi che qual è il problema????
grazie ancora mille
 
Prova a modificare queste righe:
Codice:
document.write("<td><input type=text id= quantita value=\"\" onChange=calcola1(articoli[",i,"].prezzo)></td>")
document.write("<td><input type=text id=totale value=\"0.00\"></td>"
Così:
Codice:
document.write("<td><input type=text id=quantita value=\"\" onChange=calcola1(articoli[",i,"].prezzo,i)></td>")
document.write("<td><input type=text id=totale",i," value=\"0.00\"></td>"
E la funzione calcola1 così:
Codice:
function calcola1(prezzo,id)
{
this.prezzo=prezzo
var calcola_somma1 = 0.00;
var articoli=document.getElementById('quantita');
calcola_somma1 = Math.round(prezzo * articoli * 100)/100;
var elem = document.getElementById("totale"+id).value = calcola_somma1;
}
 
Ultima modifica:
Ciao Alessandro, mi dispiace ma non funziona nulla +, non fa neppure il prodotto della I riga e tra gli errori mi dice Id non riconosciuto alla riga va sarebbe questa
Codice:
var elem=document.getElementById("totale"+id).value=calcola_somma1;
della funzione calcola1, come posso risolvere?
grazie mille!:cool:
 
Scusami ma nn ho capito che devo fare!! Mi puoi spiegare meglio? grazie
 
Allora ascolta ho scaricato il plugin, adesso devo aprire il mio file con firefox e attivare il controllo con il firebug, e quindi mi esce tutto il codice html dove devo controllare gli id, scusami ma nn ho mai usato firefox anche se come vedo è + efficiente... grazie ancora...
 
Ciao Alessandro, allora ho aperto il mio index.html con firefox ho attivato il firebug, pero'a desso nn riesco a capire dove dovrei visualizzare il valore degli id.
Diciamo che sopra ho la mia pagina html poi in basso a sin il codice html e a dx uno spazio con dei bottoni : stile, elaborato, Dom, se vado su quest'ultimo c'è una cosa voce id sotto firstchild ed a fianco c'è "" (solo questo!!) come devo fare???
grazie
 
ti scrivo:
I articolo
Codice:
<tr id="interna">
<td>Monitor</td>
<td align="center">
    <img border="0" src="1.jpg">
</td>
<td>200.00</td>
<td>
   <input type="text" onchange="calcola(articoli[0].prezzo,i)" value="" id="quantita">
</td>
     <td><input type="text" value="0.00" id="totale0">
</td>
<td>
    <input type="button" onclick="aggiungiCarrello(articoli[0].nome,articoli[0].prezzo)" value="Aggiungi al carrello">
</td>
</tr>

II articolo:
Codice:
<tr id="interna">
<td>Album per foto</td>
<td align="center">
    <img border="0" src="2.jpg">
</td>
<td>10.00</td>
<td><input type="text" onchange="calcola(articoli[1].prezzo,i)" value="" id="quantita">
</td>
<td>
    <input type="text" value="0.00" id="totale1">
</td>
<td>
    <input type="button" onclick="aggiungiCarrello(articoli[1].nome,articoli[1].prezzo)" value="Aggiungi al carrello">
</td>
</tr>

Ecco ti ho copiato solo 2 dei 3 articoli, ti serve altro?
Grazie
 
Ho risolto cosi:
Codice:
for (i=0;i<articoli.length;i++)
{
document.write("<tr id=interna><td>",articoli[i].nome,"</td>")
document.write("<td  align=center><img src=\"",articoli[i].imm,"\"border=0></td>")
document.write("<td>",articoli[i].prezzo,"</td>")
document.write("<td><input type=text id=quantita value=\"\" onChange=calcola(articoli[",i,"].prezzo,i)></td>")
document.write("<td><input type=text id=totale value=\"0.00\"></td>")
document.write("<td><input type=button value=\"Aggiungi al carrello\" onclick=\"aggiungiCarrello(articoli[",i,"].nome,articoli[",i,"].prezzo)\"></tr>")
}
Codice:
function calcola(prezzo) {
this.prezzo=prezzo
var calcola_somma1 = 0.00;
var articoli=document.getElementById('quantita').value;
calcola_somma1 =Math.round(prezzo * articoli * 100)/100;
document.getElementById('totale').value=calcola_somma1;

per ora ho risolto il mio probema , ma sicuram me ne capireranno altri:mad::hammer:
Speriamo bene!!!
 

Discussioni simili