Calcolo in javascript

Forum su Javascript e Ajax per le nostre pagine web.

Moderatori: Toki, Rey

Calcolo in javascript

Messaggioda edrien » 25 feb 2010, 19:44

Ciao a tutti, scrivo qui sperando in un aiuto, perché non riesco a creare questo semplice calcolo con javascript, ho 3 valori fissi, ai quali bisogna aggiungere una percentuale, copio il codice per capirci:


<script type="text/javascript">
function HandleKey()
{
var somma=parseInt(document.form1.durata1.value);
var perc='10%';

if(document.form1.durata1.checked)
somma=somma+parseInt(document.form1.durata1.value);
document.form1.somma.value=somma;
if(document.form1.durata2.checked)
somma=somma+parseInt(document.form1.durata2.value);
document.form1.somma.value=somma;
if(document.form1.durata3.checked)
somma=somma+parseInt(document.form1.durata3.value);
document.form1.somma.value=somma;

if(document.form1.zona1.checked)
somma=somma+parseInt(document.form1.zona1.value);
document.form1.somma.value=somma;

if(document.form1.zona2.checked)
somma=somma+parseInt(document.form1.zona2.value);
document.form1.somma.value=somma;

if(document.form1.zona3.checked)
somma=somma+parseInt(document.form1.zona3.value);
document.form1.somma.value=somma;
}
</script>


<body onload="HandleKey()">
<form name="form1" method="post" action="">

durata1 <input name="durata1" type="checkbox" onClick="HandleKey()" value="800" >

durata2 <input name="durata2" type="checkbox" onClick="HandleKey()" value="1500" >

durata3 <input name="durata3" type="checkbox" onClick="HandleKey()" value="2500" >

<p>
zona1 <input name="zona1" type="checkbox" onClick="HandleKey()" value="0" >
zona2 <input name="zona2" type="checkbox" onClick="HandleKey()" value="0" >
zona3 <input name="zona3" type="checkbox" onClick="HandleKey()" value="0" >
</p>

<p>somma <input name="somma" type="textbox">

</p>
</form>
------------------------------


Cliccando su durata1 2 e 3 mi dà il valore di default, quello che mi serve e che cliccando su zona1 aumenta del 10%, zona2 sempre del 10% e zona3 del 20%

In pratica per capirci il primo risultato 800+10% deve restituire 880 e cosi via... e far in modo che se spunto una casella non posso spuntare un altra della stessa riga.

Se c'è una anima buona che mi può aiutare... grazie.
edrien
New Entry
 
Messaggi: 2
Iscritto il: 25 feb 2010, 19:38

Re: Calcolo in javascript

Messaggioda tekaluk » 16 mar 2010, 22:41

Codice: Seleziona tutto
<script type="text/javascript">
function HandleKey()
{
var somma=parseInt(document.form1.durata1.value);

if(document.form1.durata1.checked) {
somma=somma+parseInt(document.form1.durata1.value);
document.form1.somma.value=somma;
}
if(document.form1.durata2.checked) {
somma=somma+parseInt(document.form1.durata2.value);
document.form1.somma.value=somma;
}
if(document.form1.durata3.checked) {
somma=somma+parseInt(document.form1.durata3.value);
document.form1.somma.value=somma;
}

if(document.form1.zona1.checked) {
somma=somma+parseInt(document.form1.zona1.value);
document.form1.somma.value=somma;
document.form1.durata1.value=document.form1.durata1.value+(document.form1.durata1.value*0.1);
document.form1.durata2.value=document.form1.durata2.value+(document.form1.durata2.value*0.1);
document.form1.durata3.value=document.form1.durata3.value+(document.form1.durata3.value*0.1);
document.form1.zona2.checked="false";
document.form1.zona3.checked="false";
}

if(document.form1.zona2.checked) {
somma=somma+parseInt(document.form1.zona2.value);
document.form1.somma.value=somma;
document.form1.durata1.value=document.form1.durata1.value+(document.form1.durata1.value*0.1);
document.form1.durata2.value=document.form1.durata2.value+(document.form1.durata2.value*0.1);
document.form1.durata3.value=document.form1.durata3.value+(document.form1.durata3.value*0.1);
document.form1.zona1.checked="false";
document.form1.zona3.checked="false";
}

if(document.form1.zona3.checked) {
somma=somma+parseInt(document.form1.zona3.value);
document.form1.somma.value=somma;
document.form1.durata1.value=document.form1.durata1.value+(document.form1.durata1.value*0.2);
document.form1.durata2.value=document.form1.durata2.value+(document.form1.durata2.value*0.2);
document.form1.durata3.value=document.form1.durata3.value+(document.form1.durata3.value*0.2);
document.form1.zona1.checked="false";
document.form1.zona2.checked="false";
}
}
</script>


<body onload="HandleKey()">
<form name="form1" method="post" action="">

durata1 <input name="durata1" type="checkbox" onClick="HandleKey()" value="800" >

durata2 <input name="durata2" type="checkbox" onClick="HandleKey()" value="1500" >

durata3 <input name="durata3" type="checkbox" onClick="HandleKey()" value="2500" >

<p>
zona1 <input name="zona1" type="checkbox" onClick="HandleKey()" value="0" >
zona2 <input name="zona2" type="checkbox" onClick="HandleKey()" value="0" >
zona3 <input name="zona3" type="checkbox" onClick="HandleKey()" value="0" >
</p>

<p>somma <input name="somma" type="textbox">

</p>
</form>

ma ti consiglio di usare un parametro alla funzione oppure di trasformare gli if in if else.
tekaluk
New Entry
 
Messaggi: 3
Iscritto il: 16 mar 2010, 21:05


Torna a Javascript e Ajax

Chi c’è in linea

Visitano il forum: MSN [Bot] e 2 ospiti

IPROGRAMMATORI.IT 2010. Tutti i diritti riservati. - P.IVA 04135460873 | Pubblicità | Termini e Condizioni - Privacy Policy | RSS 2.0 - Le news di IProgrammatori.itRSS