perchè non aggiorna il totale?

djjunior

Utente Attivo
24 Lug 2004
95
1
8
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:
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;
  }
}
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:
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;
}
}
Come posso ovviare o far coesistere le suddette funzioni?
Grazie
 

djjunior

Utente Attivo
24 Lug 2004
95
1
8

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
552
13
18
Italy
www.riciclarte.info
Ciao djjunior,
di javascript non ci capisco una mazza però se fossi in te opterei con una checkbox dinamica del tipo:
se metto il flag effettuo un redirect indicando nella querystring una variabile tipo spedizione=no

quindi mediante calcolo in semplice VB sottraggo le spese di spedizione:
Codice:
If Request("spedizione") = "no" Then
   totale = totale
Else
   totale = spedizione + totale
End If

Esempio: http://win.astro-forniture.it/default.asp?frame=step1&Prodotto=4&gomma=si
Clicca su "Gomma" SI/NO per modificare la visualizzazione

Codice:
<input type="radio" name="spedizione" value="si" onClick="parent.location = 'http://www.subitofoto.it/public/photomanager/upload/ordine1.asp?cartella=7_rossi&ordini=62496952'"  checked='checked' /> Si<br />

<input type="radio" name="spedizione" value="no" onClick="parent.location = 'http://www.subitofoto.it/public/photomanager/upload/ordine1.asp?cartella=7_rossi&ordini=62496952'"  /> No<br />

Fammi sapere, se va bene sposto la discussione in ASP :byebye:
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
552
13
18
Italy
www.riciclarte.info
...ho visto che nel link prova hai effettuato la modifica, ottimo lavoro, come vedi a volte basta un po di inventiva.
Ti consiglio di mettere " checked='checked'" su ritiro in sede: NO.

Al prossimo tips :byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
Tommy03 Perchè non si apre una pagina PHP PHP 4
otto9due .detach().appendTo(..) Perchè non funziona? jQuery 1
ragazzesexy perchè google non elimina i siti inesistenti? SEO e Posizionamento 2
otto9due .hover() perchè non va in questo caso? jQuery 2
S [PHP] Perchè non mi esegue la query? PHP 11
D Perchè la function non funziona? Javascript 0
G Perchè il livello originale non rimane integro rispetto alle modifiche apportate? Photoshop 9
P Non riesco a capire dove sta l'errore e perchè non mi memorizza il contenuto PHP 14
Devil-94 .replace perchè non funziona ? Javascript 1
R Perchè non si riescono a settare dinamicamente i parametri di una pagina HTML? Javascript 1
G Perchè nel mio photoshop non trovo sfocatura gaussiana Photoshop 1
A Non riesco a fare backup sito perchè Filezilla non scarica tutti i file! Web Server 4
L Funzione per verificare distanza di tempo non funziona: perchè? PHP 4
B Perchè non va? PHP 4
A Perchè non mi fa l'edit delle informazioni dell'account Magento 0
M Perchè non invia la mail in formato html? PHP 5
V perchè una somma può non funzionare? PHP 4
F Perchè non vedo il TITOLO nel browser? help! HTML e CSS 2
C Perchè non funziona la funzione if con la variabile getdate... ? Javascript 4
G Perchè non funziona $_SERVER['HTTP_REFERER'][risolto] PHP 7
L Penalizzata... ma non capisco perchè! SEO e Posizionamento 4
maxbossi [LEGGERE] Perchè NON ho il permesso di scrivere in questa sezione? Presenta il tuo Sito 0
S Perchè i sottomenu non si vedono? HTML e CSS 3
A Favicon funziona solo su Firefox e non su Explorer - Perchè ? - HTML e CSS 6
B Perchè il mio sito non decolla? SEO e Posizionamento 5
A Perchè non entro nei motori di ricerca SEO e Posizionamento 3
U perchè la funzione move_uploaded_file non funziona se i permessi sono 777? PHP 11
O Easy Php non funziona, perchè? PHP 5
R link exchange??!? perchè non risulto ancora abilitato? Supporto Mr.Webmaster 4
borgo italia perchè non funzia? Discussioni Varie 2
ale-inka Perchè google non mi legge con il www? SEO e Posizionamento 4
M perchè non sono attivo Supporto Mr.Webmaster 0
G Perchè non funziona? PHP 2
M Perchè non funziona? PHP 2
D Perchè non funziona questo controllo Javascript 1
rok Non posso modificare un file flash perchè... Flash 1
I Div class non centrato ... perchè? HTML e CSS 2
J perchè non funziona con internet explorer? Javascript 0
T perchè non riesco a vedere tutte le tv cia pc? Discussioni Varie 1
otto9due SQLSTATE[HY093]: Invalid parameter number: parameter was not defined ? Perchè secondo voi? PHP 0
S [PHP] Perchè con require(tcpdf...) restituisce ora errata? PHP 0
A Perchè su chrome e safari funziona tutto e su firefox e ie no?!!!? Presentati al Forum 0
felino Sondaggio: quale framework utilizzate e perchè? PHP 0
M Fatture senza marca da bollo perchè inferiori a 77,47 euro Leggi, Normative e Fisco 5
C Ma perchè!!!! Differenza visualizzazione con iOS Safari HTML e CSS 2
I Perchè devo cliccare 2 volte su un link per caricare correttamente il css di una galleria? WordPress 1
M Perchè alla fine di un ciclo while si interrompe l'esecuzione? PHP 1
P Perchè il framework di zurb deforma le foto? HTML e CSS 2
S un IF dentro l'altro... Perchè no?!?!? Javascript 15
D Animazioni - perchè torna nel suo stato iniziale??? HTML e CSS 2

Discussioni simili