Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Calcolo Preventivo

  1. #1
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258

    Calcolo Preventivo

    Tempo fa trovai questo script in rete modificato in seguito per le mie esigenze.

    Il problema però è che è in "formato americano": se immetto un prezzo con la virgola (,00) mi da errore, inoltre mi visualizza i prezzi delimitati dal punto anzicchè la virgola. A suo tempo provai a modificarlo ma non riusciia risolvere.

    Potete testare lo sript a questo Link

    Il Codice è:
    codice:
    <SCRIPT>
    
    function dp(prezzo) 
    {
       string = "" + prezzo;
       number = string.length - string.indexOf('.');
       if (string.indexOf('.') == -1)
          return string + '.00';
       if (number == 1)
          return string + '00';
       if (number == 2)
          return string + '0';
       if (number > 3)
          return string.substring(0,string.length-number+3);
    return string;
    }
    
    function calculate()
    {
    document.data.importo1.value = dp((document.data.prezzo1.value)*(document.data.qta1.value))
    document.data.importo2.value = dp((document.data.prezzo2.value)*(document.data.qta2.value))
    document.data.importo3.value = dp((document.data.prezzo3.value)*(document.data.qta3.value))
    document.data.importo4.value = dp((document.data.prezzo4.value)*(document.data.qta4.value))
    document.data.importo5.value = dp((document.data.prezzo5.value)*(document.data.qta5.value))
    document.data.importo6.value = dp((document.data.prezzo6.value)*(document.data.qta6.value))
    document.data.importo7.value = dp((document.data.prezzo7.value)*(document.data.qta7.value))
    document.data.importo8.value = dp((document.data.prezzo8.value)*(document.data.qta8.value))
    
    
    document.data.totaleimponibile.value = dp(eval(document.data.importo1.value) + eval(document.data.importo2.value) + eval(document.data.importo3.value) + eval(document.data.importo4.value) + eval(document.data.importo5.value) + eval(document.data.importo6.value) + eval(document.data.importo7.value) + eval(document.data.importo8.value))
    perciva=(document.data.iva.value)
    document.data.importoiva.value = dp((document.data.totaleimponibile.value)*(perciva/100))
    document.data.totalefattura.value = dp((document.data.totaleimponibile.value)*((1+perciva)/100))
    }
    
    </SCRIPT>
    
    
    </HEAD>
    
    <BODY bgcolor="white" onload="calculate">
    
    
    <CENTER>
    
    <FORM name="data" action="mailto:" tppabs="mailto:" method="post">
    
      <TABLE cellpadding=2 border=2 cellspacing=2>
        <TR>
          <TD>qta</TD>
          <TD>prezzo</TD>
          <TD>importo</TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta1" type="text" id="qta1" ONKEYUP="calculate()"></TD>
          <TD><INPUT name="prezzo1" type="text" id="prezzo1" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo1" type="text" id="importo1"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta2" type="text" id="qta2" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo2" type="text" id="prezzo2" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo2" type="text" id="importo2"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta3" type="text" id="qta3" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo3" type="text" id="prezzo3" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo3" type="text" id="importo3"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta4" type="text" id="qta4" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo4" type="text" id="prezzo4" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo4" type="text" id="importo4"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta5" type="text" id="qta5" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo5" type="text" id="prezzo5" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo5" type="text" id="importo5"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta6" type="text" id="qta6" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo6" type="text" id="prezzo6" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo6" type="text" id="importo6"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta7" type="text" id="qta7" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo7" type="text" id="prezzo7" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo7" type="text" id="importo7"></TD>
        </TR>
        <TR> 
          <TD><INPUT name="qta8" type="text" id="qta8" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="prezzo8" type="text" id="prezzo8" ONCHANGE="calculate()"></TD>
          <TD><INPUT name="importo8" type="text" id="importo8"></TD>
        </TR>
        <TR>
          <TD></TD>
          <TD>Totale Iimponibile</TD>
          <TD><INPUT name="totaleimponibile" type="text" id="totaleimponibile"></TD>
        </TR>
        <TR>
          <TD></TD>
          <TD>Iva <input name="iva" type="text" id="importoiva22" value="20" size="6" maxlength="6"></TD>
          <TD><INPUT name="importoiva" type="text" id="importoiva"></TD>
        </TR>
        <TR>
          <TD></TD>
          <TD> Totale Fattura</TD>
          <TD><INPUT name="totalefattura" type="text" id="totalefattura"></TD>
        </TR>
      </TABLE>
      <INPUT type="button" Value="PRESS FIRST to calculate the values" ONCLICK="calculate()">
    <INPUT type="submit" Value="Then click this to SUBMIT"></form>
    
    
    </body>
    </html>
    Al limite non è che si trova qlche esempio del genere in rete?

  2. #2
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    sto cercando una soluzione, forse con un

    codice:
    if(isNaN(n)) n=n.replace(",",".");
    me la cavo...ma non so come e dove inserirlo

  3. #3
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Ho creato 2 funzioni, una che fa il replace dlla virgola con il punto e l'altra che fa l'esatto contrario
    codice:
    function virg2point(value){
      value = value.replace(",",".");
      return value;
      }
      
     function point2virg(value){
      value = value.replace(".",",");
      return value;
      }
    una la richiamo così:
    codice:
    document.data.importo1.value = dp((virg2point(document.data.prezzo1.value))*(virg2point(document.data.qta1.value)))
    ma l'altra non so come richiamarla

    lo script semifunzionante è testabile a questo link

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 © 2026 vBulletin Solutions, Inc. All rights reserved.