carissimi,
cerco uno script che in tempo reale mi calcoli lo sconto.
Ho 3 campi
- PREZZO BASE
- SCONTO IN PERCENTUALE DA APPLICARE
- PREZZO SCONTATO
Grazie
G.
carissimi,
cerco uno script che in tempo reale mi calcoli lo sconto.
Ho 3 campi
- PREZZO BASE
- SCONTO IN PERCENTUALE DA APPLICARE
- PREZZO SCONTATO
Grazie
G.
Salve ho trovato e modificato per le mie necessità questo script, ma non riesco a ...
1) vorrei che mentre scrivo la percentuale o il prezzo base, il totale si deve comporre in temporealecodice:<head> <script language="javascript"> function calcola(sc) { var prez_e = sc.form.PREZZO_SERVER.value; prez_e = prez_e.replace(/[\. ]/g, ""); prez_e = prez_e.replace(/\,/, "."); var prez = parseFloat(prez_e); var scon = parseFloat(sc.value); var net = String(Math.round((prez - prez*scon/100) *100) / 100); net.replace(/\./, ","); document.getElementById("totalescontato").value = net; } </script> </head> <form method="get" action="carrello.asp" name="carrello"> prezzo € <input type="text" name="PREZZO_SERVER" value="0"> sconto in percentuale<input type="text" name="SCONTO" value="0" onchange="calcola(this);"> %</p> prezzo con sconto € <input type="text" name="totalescontato" value="0"> </p> </form>
2) il totale deve contenere anche gli zeri dopo la virgola o punti come messi per esempio nel prezzo iniziale.
Potete aiutarmi?
Grazie
G.
nessuno può aiutarmi?
codice:<head> <script language="javascript"> function calcola(el1,el2) { var decimal = ""; var prez_e = el1.value; prez_e = prez_e.replace(/\,/, "."); if(prez_e.indexOf(".") != -1){ decimal = prez_e.split("."); decimal = parseInt(decimal[1]) > 0 ? "" : "."+decimal[1]; } var prez = parseFloat(prez_e); var scon = parseFloat(el2.value); var net = String(Math.round((prez - prez*scon/100) *100) / 100); if(!isNaN(net)){ net = net.replace(/\./, ","); net = net+decimal; document.carrello.totalescontato.value = net; } } </script> </head> <body> <form method="get" action="carrello.asp" name="carrello"> prezzo <input type="text" name="PREZZO_SERVER" value="0" onkeyup="calcola(this,carrello.SCONTO)"> sconto in percentuale<input type="text" name="SCONTO" value="0" onkeyup="calcola(carrello.PREZZO_SERVER,this)"> %</p> prezzo con sconto <input type="text" name="totalescontato" value="0" > </p> </form> </body>![]()
perfetto
grazie 1000 vindav
scusatemi se ritorno al post
ma ho notato che se il prezzo da scontare (PREZZO_SERVER) è così: 25,00 cioè a 2 cifre
e metto qualunque percentuale ho questo risultato di esempio
prezzo: 25,00
percentuale sconto: 10
totale : 22,5.00 invece di 22,50
Come posso ovviare?
Grazie
G.
nessun aiuto?
C'era un errore nel codice che ti avevo scritto, fai una prova cosi:
codice:function calcola(el1,el2) { var decimal = ""; var prez_e = el1.value; prez_e = prez_e.replace(/\,/, "."); if(prez_e.indexOf(".") != -1){ decimal = prez_e.split("."); decimal = decimal[1].length; } var prez = parseFloat(prez_e); var scon = parseFloat(el2.value); var net = String(Math.round((prez - prez*scon/100) *100) / 100); if(!isNaN(net)){ document.carrello.totalescontato.value = new Number(net).toFixed(decimal); } }
in una pagina con più prezzi di un carrello come posso inserire più volte questa funzione?
richiama la funzione in tutti i campi interessati... l'unica cosa che forse devi cambiare è
document.carrello.totalescontato.value = new Number(net).toFixed(decimal);