Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Modificare script somma campi

    Ciao a tutti,

    utilizzo uno script di br1 prelevato dal forum e modificato, secondo le mie necessità, dallo stesso br1.

    Ho un problema che non riesco a risolvere, vi posto il codice im modo da capirci meglio:




    codice:
    <script language="javascript">
    function duecifre(nn) {
    	som = String(nn) 
    	som += (som.indexOf('.')>=0)?'0':'.00'; 
    	som = som.substr(0,som.indexOf('.')+3) 
    	return som;
    }
    function Somma(tt){
    	var ff = tt.form
    	var pre = tt.name.substr(0,1)
    	var somma = 0
    	var i=0;
    	while(ff.elements[pre+(i+1)]) {
    		if(ff.elements[pre+(i+1)].value!='')
    			 somma+=parseFloat(ff.elements[pre+(i+1)].value,10); 
    		i++;
    	}
    	ff.elements[pre+'_tot'].value=duecifre(somma)
    	ff.elements[pre+'_iva'].value=duecifre(somma*0.2)
    	ff.elements[pre+'_som'].value=duecifre(somma*1.2)
    }
    </script>

    con questo script permetto di sommare dei campi che si chiamano es:
    a1 + a2 + a3 e così via, il risultato mi spunta nel campo a_tot, mi calcola l'iva e me la stampa sul campo a_iva e infine mi scrive sul campo a_som la somma dei 3 campi.

    Il mio problema è che devo necessariamente utilizzare i decimali con la virgola mentre lo script mi utilizza il punto come separatore decimale, cosa devo modificare nello script per risolvere il problema ?

    Grazie anticipatamente
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova cosi':

    codice:
    <script language="javascript">
    function duecifre(nn) {
    	som = String(nn) 
    	som += (som.indexOf('.')>=0)?'0':'.00'; 
    	som = som.substr(0,som.indexOf('.')+3) 
    	return som.replace(/\./,"\,");
    }
    function Somma(tt){
    	var ff = tt.form
    	var pre = tt.name.substr(0,1)
    	var somma = 0
    	var i=0;
    	while(ff.elements[pre+(i+1)]) {
    		if(ff.elements[pre+(i+1)].value!='')
    			 somma+=parseFloat(ff.elements[pre+(i+1)].value.replace(/\,/,"\."),10); 
    		i++;
    	}
    	ff.elements[pre+'_tot'].value=duecifre(somma)
    	ff.elements[pre+'_iva'].value=duecifre(somma*0.2)
    	ff.elements[pre+'_som'].value=duecifre(somma*1.2)
    }
    </script>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    SEI UN MITO BR1 !!!
    Pippo Giacalone
    giacalone@tin.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.