Salve a tutti, premetto che non sono una cima in Javascript e per questo chiedo aiuto a chi ne sa più di me.
Il mio problema è questo:
ho un modulo ordine con 15 righe composte da quantità,prezzo, imponibile e totale
vorrei che l'imponibile venga compilato automaticamente quando inserisco quantità e prezzo mediante la classica formula: quantità*prezzo >>> e fino a qui nessun problema;
allo stesso modo in totale vorrei la somma di tutti gli imponibili.
fino a qui arrancando un po' ci sono arrivato, ma non ho fatto i conti con i campi vuoti.
Per tanto chiedo questo:
Qualcuno è così gentile da aiutarmi a sistemare il codice in modo da:
1) Formattare i decimali sul campo prezzo (tipo se l'utente scrive 1.5 in automatico diventa 1.50)
2) Lasciare vuoto il campo imponibile se i campi quantità e prezzo sono vuoti (così com'è il codice se clicco su un campo prezzo o quantità, imponibile diventa NaN
3) Calcolare il totale escludendo gli imponibili NaN o vuoti.

Grazie in anticipo a chi è così gentile da risolvermi il problema.

codice:

function calcola1()
{
var qta1 = document.getElementById("qta1").value;
var prezzo1 = parseFloat (document.getElementById("prezzo1").value);
var addendo1 = eval(qta1);
var addendo2 = eval(prezzo1);
conto1 = addendo1 * addendo2;
document.getElementById("imponibile1").value = conto1.toFixed(2);

var imponibile1 =document.getElementById("imponibile1").value;
if (imponibile1 == "" || imponibile1== undefined || isNan(imponibile1))
{
imponibile1=0.00;
}
var imponibile2 = document.getElementById("imponibile2").value;
if (imponibile2 == "" || imponibile2== undefined || isNan(imponibile2))
{
imponibile2=0.00;
}
var imponibile3 =document.getElementById("imponibile3").value;
if (imponibile3 == "" || imponibile3== undefined || isNan(imponibile3))
{
imponibile3=0.00;
} var imponibile4 = document.getElementById("imponibile4").value;
if (imponibile4 == "" || imponibile4== undefined || isNan(imponibile4))
{
imponibile4=0.00;
} var imponibile5 = document.getElementById("imponibile5").value;
if (imponibile5 == "" || imponibile5== undefined || isNan(imponibile5))
{
imponibile5=0.00;
} var imponibile6 = document.getElementById("imponibile6").value;
if (imponibile6 == "" || imponibile6== undefined || isNan(imponibile6))
{
imponibile6=0.00;
} var imponibile7 = document.getElementById("imponibile7").value;
if (imponibile7 == "" || imponibile7== undefined || isNan(imponibile7))
{
imponibile7=0.00;
} var imponibile8 = document.getElementById("imponibile8").value;
if (imponibile8 == "" || imponibile8== undefined || isNan(imponibile8))
{
imponibile8=0.00;
} var imponibile9 = document.getElementById("imponibile9").value;
if (imponibile9 == "" || imponibile9== undefined || isNan(imponibile9))
{
imponibile9=0.00;
} var imponibile10 = document.getElementById("imponibile10").value;
if (imponibile10 == "" || imponibile10== undefined || isNan(imponibile10))
{
imponibile10=0.00;
} var imponibile11 = document.getElementById("imponibile11").value;
if (imponibile11 == "" || imponibile11== undefined || isNan(imponibile11))
{
imponibile11=0.00;
} var imponibile12 = document.getElementById("imponibile12").value;
if (imponibile12 == "" || imponibile12== undefined || isNan(imponibile12))
{
imponibile12=0.00;
} var imponibile13 = document.getElementById("imponibile13").value;
if (imponibile13 == "" || imponibile13== undefined || isNan(imponibile13))
{
imponibile13=0.00;
} var imponibile14 = document.getElementById("imponibile14").value;
if (imponibile14 == "" || imponibile14== undefined || isNan(imponibile14))
{
imponibile14=0.00;
} var imponibile15 = document.getElementById("imponibile15").value;
if (imponibile15 == "" || imponibile15== undefined || isNan(imponibile15))
{
imponibile15=0.00;
}
var addendo1a = eval(imponibile1);
var addendo2a = eval(imponibile2);
var addendo3 = eval(imponibile3);
var addendo4 = eval(imponibile4);
var addendo5 = eval(imponibile5);
var addendo6 = eval(imponibile6);
var addendo7 = eval(imponibile7);
var addendo8 = eval(imponibile8);
var addendo9 = eval(imponibile9);
var addendo10 = eval(imponibile10);
var addendo11 = eval(imponibile11);
var addendo12 = eval(imponibile12);
var addendo13 = eval(imponibile13);
var addendo14 = eval(imponibile14);
var addendo15 = eval(imponibile15);


conto = addendo1a + addendo2a + addendo3 + addendo4 + addendo5 + addendo6 + addendo7 + addendo8 + addendo9 + addendo10 + addendo11 + addendo12 + addendo13 + addendo14 + addendo15;
document.getElementById("totalePF").value = conto.toFixed(2);
}
</script>

<input name="qta1" type="text" id="qta1" style="width:40px; text-align:center" onBlur="calcola1()">

<input name="prezzo1" type="text" id="prezzo1" style="width:80px; text-align:right" onBlur="calcola1()" onKeyUp="this.value= this.value.replace(',', '.')" ON>