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

    preventivo online in euro

    Un saluto a tutti,

    vorrei modificare questo script per preventivi online in modo che possa funzionare con gli euro. Ho provato a fare alcune prove, seguendo precedenti post, senza riuscire a risolvere il problema: mi considera e somma solo gli interi.

    Grazie_datalight

    ================================================== ============


    <HTML>
    <HEAD>
    <TITLE>Preventivi interattivi on-line</TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!-- // Nascondo lo script ai vecchi browser

    // Funzione che crea un array contenente n elementi

    function MakeArray(n) {
    this.length = n;
    for(var i = 1; i <= n; i++) this[i] = 0;
    return this
    }

    // Funzione che calcola l'IVA del 19% e la somma al totale

    function tassalo(num) {

    // Se l'iva e' selezionata (checked) la calcolo

    if(num) {
    if(document.preventivo.TASSE.checked) {
    document.preventivo.quantoiva.value=Math.round(19* num)/100;
    }
    else document.preventivo.quantoiva.value=0;
    }

    // A questo punto faccio il totale.

    var temp=0;
    if(document.preventivo.costotot.value.length != 0) {
    temp+=parseFloat(document.preventivo.costotot.valu e);
    }
    if(document.preventivo.quantoiva.value.length != 0) {
    temp+=parseFloat(document.preventivo.quantoiva.val ue);
    }
    document.preventivo.costototiva.value=temp;
    }

    // Questa funzione fa la somma del costo dei prodotti
    // che sono stati selezionati.

    function calcola(sel) {

    // Crea un array in cui metto i prezzi passati come argomenti.

    var Prezzi_Array = new MakeArray(calcola.arguments.length);
    for(var i=1; i<calcola.arguments.length; i++) {
    Prezzi_Array[i-1] = parseInt(calcola.arguments[i]);
    }

    // Prendo l'ultimo carattere del nome dell'elemento che ha
    // chiamato la funzione (quanti0, quanti1 daranno 0, 1 ecc.)
    // per sapere quale selettore è stato cambiato.

    var line=sel.name.charAt(sel.name.length-1);

    // Ora se il quantiX di tale linea ha una lunghezza, significa che c'e'
    // un valore scritto dentro. Per accaderci si usa "quanti"+line che
    // ci dara' quanti0, quanti1 ecc.

    if(document.preventivo["quanti"+line].value.length != 0) {

    // Controllo che sia stato scritto un numero (se non è un numero
    // risultera' un NaN, ovvero Not a Number), e che sia diverso da
    // zero. Se non è un numero, visualizzo una finestra di alert.

    var quanti=parseInt(document.preventivo["quanti"+line].value);
    if((quanti == 0) || isNaN(quanti)) {
    alert("La quantita' alla linea "+(++line)+" non e' un numero!");
    return;
    }

    var pprez=0;

    // Trovo il prezzo del prodotto selezionato.

    pprez = Prezzi_Array[document.preventivo["prodotto"+line].selectedIndex];

    // Controllo che sia stato selezionato qualcosa, in caso contrario
    // visualizzo una finestra di alert con l'errore.

    if((pprez == 0) || isNaN(pprez)) {
    alert("Il prodotto alla linea "+(++line)+" non e' stato scelto!");
    return;
    }

    // Scrivo il prezzo singolo e il totale

    document.preventivo["prodprezzo"+line].value = pprez;
    document.preventivo["prodtot"+line].value = eval(pprez*quanti);
    }

    var i = 0;
    var total = 0;

    // Calcolo il costo totale sommanto i totali dei singoli prodotti

    while(document.preventivo["prodtot"+i]) {
    if(document.preventivo["prodtot"+i].value.length != 0) {
    total+=parseInt(document.preventivo["prodtot"+i].value);
    }
    i++;
    }

    document.preventivo.costotot.value = total;

    // Calcoliamo l'iva eventuale e il totale ivato.

    tassalo(total);
    }

    // Fine della parte nascosta. -->
    </SCRIPT></HEAD>
    <BODY>
    <CENTER><H3>Preventivi interattivi on-line</H3>
    <FORM NAME="preventivo"><TABLE>
    <TR><TD ROWSPAN=8><PRE> </PRE></TD>
    <TH ALIGN=RIGHT>Quant.</TH><TH ALIGN=center>Prodotto</TH>

    <TH ALIGN=center>Prezzo</TH><TH ALIGN=center>Totale</TH>
    <TH ROWSPAN=8><PRE> </PRE></TD></TR>
    <TR><TD VALIGN=TOP ALIGN=RIGHT>
    <INPUT TYPE=TEXT NAME="quanti0" value="1" SIZE=3 onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    </TD><TD VALIGN=TOP>
    <SELECT NAME="prodotto0" onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    <OPTION>prodotto 1 <OPTION>prodotto 2 <OPTION>prodotto 3 <OPTION>prodotto 4
    <OPTION SELECTED>seleziona un prodotto</SELECT></TD>

    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME="prodprezzo0" size=8 onFocus="this.blur();"></TD>
    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME="prodtot0" size=8 onFocus="this.blur();"></TD>
    </TR><TR><TD VALIGN=TOP ALIGN=RIGHT>
    <INPUT TYPE=TEXT NAME="quanti1" value="1" SIZE=3 onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    </TD><TD VALIGN=TOP>
    <SELECT NAME="prodotto1" onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    <OPTION>prodotto 1 <OPTION>prodotto 2 <OPTION>prodotto 3 <OPTION>prodotto 4
    <OPTION SELECTED>seleziona un prodotto</SELECT></TD>

    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME="prodprezzo1" SIZE=8 onFocus="this.blur();"></TD>
    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME="prodtot1" SIZE=8 onFocus="this.blur();"></TD>
    </TR><TR><TD VALIGN=TOP ALIGN=RIGHT>
    <INPUT TYPE=TEXT NAME="quanti2" value="1" SIZE=3 onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    <TD VALIGN=TOP>
    <SELECT NAME="prodotto2" onChange='calcola(this, "5.50", "10.25", "9.00", "15.75");'>
    <OPTION>prodotto 1 <OPTION>prodotto 2 <OPTION>prodotto 3 <OPTION>prodotto 4
    <OPTION SELECTED>seleziona un prodotto</SELECT></TD>

    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=prodprezzo2 size=8 onFocus="this.blur();"></TD>
    <TD VALIGN=TOP><INPUT TYPE=TEXT NAME=prodtot2 size=8 onFocus="this.blur();"></TD>
    </TR><TR><TD></TD><TD></TD><TH>Costo</TH>
    <TD><INPUT TYPE=TEXT NAME=costotot SIZE=8 onFocus="this.blur();"></TD>
    </TR><TR><TH COLSPAN=2 ALIGN=RIGHT>Ivato
    <INPUT TYPE=checkbox name=TASSE onClick="tassalo(document.preventivo.costotot.valu e);">
    </TH><TH>Iva</TH>
    <TD><INPUT TYPE=TEXT NAME=quantoiva SIZE=8 onFocus="this.blur();"></TD>

    </TR><TR><TD></TD><TD></TD></TR><TR><TD></TD><TD></TD><TH>Totale</TH>
    <TD><INPUT TYPE=TEXT NAME=costototiva SIZE=8 onFocus="this.blur();"></TD>
    </TR></TABLE></FORM></CENTER>
    </BODY>
    </HTML>

    ================================================== ============


  2. #2
    up

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.