Salve,
ho un totale che si aggiorna mediante vari script e utilizzando la funzione
window.onkeypress = setInterval('prz();tot()',100);
dove le funzioni prz (varia se cambia la zona di trasporto) e tot (si aggiorna sommando le nuove spese di spedizione etc) .
Ora avevo messo una funzione attivabile mediante checkbox per il ritiro in sede, cioè dovrebbe impostare a zero le spese di spedizione e ricalcolare il totale, eccola:
solo che quest'ultima cozza (credo) con le funzioni precedenti, se spunto il checkbox di ritiro in sede, vedo al momento del check il cambio per pochissimi istanti, quindi non aggiornando in modo definitivo il totale.
Ecco le altre funzioni:
Come posso ovviare o far coesistere le suddette funzioni?
Grazie
ho un totale che si aggiorna mediante vari script e utilizzando la funzione
window.onkeypress = setInterval('prz();tot()',100);
dove le funzioni prz (varia se cambia la zona di trasporto) e tot (si aggiorna sommando le nuove spese di spedizione etc) .
Ora avevo messo una funzione attivabile mediante checkbox per il ritiro in sede, cioè dovrebbe impostare a zero le spese di spedizione e ricalcolare il totale, eccola:
Codice:
var deposito;
function rit(v) {
if(v) {
deposito = document.getElementById('speseconsegna').innerHTML;
document.getElementById('speseconsegna').innerHTML = 0;
document.getElementById('spesecs').value = 0;
var sm = document.form.sommass.value;
var sc = document.form.spesecs.value;
var pagamento = parseFloat(sm) - parseFloat(sc);
var pg = pagamento.toFixed(2);
var paga = pg.replace('.',',');
document.getElementById('totalepag').value = pg;
document.getElementById('totalepagare').innerHTML = pg;
} else {
document.getElementById('speseconsegna').innerHTML = deposito;
document.getElementById('spesecs').value = deposito;
var sm = document.form.sommass.value;
var sc = document.form.spesecs.value;
var pagamento = parseFloat(sm) + parseFloat(sc);
var pg = pagamento.toFixed(2);
var paga = pg.replace('.',',');
document.getElementById('totalepag').value = pg;
document.getElementById('totalepagare').innerHTML = pg;
}
}
Ecco le altre funzioni:
Codice:
window.onkeypress = setInterval('prz();tot()',100);
function prz(){
var cap = document.getElementById('caps').value;
if (cap == 87100) {
ma = 1
mb = 2.4
mc = 2.9
md = 3.3
me = 4.2
mf = 7.5
mg = 14
} else if (cap == 87036) {
ma = 1
mb = 2.4
mc = 2.9
md = 3.3
me = 4.2
mf = 7.5
mg = 14
} else {
ma = 5.5
mb = 7.5
mc = 9
md = 9.6
me = 9.6
mf = 11.4
mg = 13.7
}
var maa = ma.toFixed(2);
var maaa = maa.replace('.',',');
var mbb = mb.toFixed(2);
var mbbb = mbb.replace('.',',');
var mcc = mc.toFixed(2);
var mccc = mcc.replace('.',',');
var mdd = md.toFixed(2);
var mddd = mdd.replace('.',',');
var mee = me.toFixed(2);
var meee = mee.replace('.',',');
var mff = mf.toFixed(2);
var mfff = mff.replace('.',',');
var mgg = mg.toFixed(2);
var mggg = mgg.replace('.',',');
var pes = document.getElementById('pesototales').value;
if(pes<=100){
document.getElementById('speseconsegna').innerHTML = maa;
document.getElementById('spesecs').value = maa;
} else if(pes>101 && pes<=350) {
document.getElementById('speseconsegna').innerHTML = mbb;
document.getElementById('spesecs').value = mbb;
} else if(pes>351 && pes<=1000) {
document.getElementById('speseconsegna').innerHTML = mcc;
document.getElementById('spesecs').value = mcc;
} else if(pes>1001 && pes<=2000) {
document.getElementById('speseconsegna').innerHTML = mdd;
document.getElementById('spesecs').value = mdd;
} else if(pes>2001 && pes<=3000) {
document.getElementById('speseconsegna').innerHTML = mee;
document.getElementById('spesecs').value = mee;
} else if(pes>3001 && pes<=10000) {
document.getElementById('speseconsegna').innerHTML = mff;
document.getElementById('spesecs').value = mff;
} else if(pes>10001 && pes<= 20000) {
document.getElementById('speseconsegna').innerHTML = mgg;
document.getElementById('spesecs').value = mgg;
} else if(pes>20001) {
window.alert('Il peso della spedizione supera i 20Kg')
}
}
function tot(){
var sm = document.form.sommass.value;
var sc = document.form.spesecs.value;
var pagamento = parseFloat(sm) + parseFloat(sc);
if(isNaN(pagamento)){
document.getElementById('totalepagare').innerHTML = 0;
document.getElementById('totalepag').value = '';
}else{
var pg = pagamento.toFixed(2);
var paga = pg.replace('.',',');
document.getElementById('totalepag').value = pg;
document.getElementById('totalepagare').innerHTML = paga;
}
}
Grazie