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

    Help calcoli per forn con javascript

    Premeto che non sono un'esperto di javascript, che comunque riesco ad usare e adattare nelle mie pagine PHP senza grossi problemi.

    Ma adesso sto veramente impazzendo!!! Non riesco a trovare una soluzione al mio problema.

    Ho un form di un preventivo che deve calcolare mentre viene compilato vari importi in base a varie opzioni, o inserendo dei valori o con dei checkbox.

    Riesco a fare tutti i calcoli diciamo senza problemi ma senza rispettare le cifre decimali.

    Intanto dovrebbe esserci la virgola al posto del punto e poi ci dovrebbero essere le classiche due cifre decimali dell'euro con i vari arrotondamenti.

    Chi mi può aiuitare???

    Ecco una parte dello script che uso per i calcoli:

    <script language="JavaScript">
    function calcola(myform) {

    if (myform.mezzap.value!=0)
    {
    var v1=myform.mezza.value;
    var v2=21;
    myform.mezzap.value=v1*v2*myform.giorni.value;
    }

    if (myform.fullp.value!=0)
    {
    var v1=myform.full.value;
    var v2=39;
    myform.fullp.value=v1*v2*myform.giorni.value;
    }

    if (myform.menup.value!=0)
    {
    var v1=myform.menu.value;
    var v2=81;
    myform.menup.value=v1*v2*myform.giorni.value;
    }

    if (myform.cabinep.value!=0)
    {
    var v1=myform.cabine.value;
    var v2=45;
    myform.cabinep.value=v1*v2*myform.giorni.value;
    }

    if (myform.singolep.value!=0)
    {
    var v1=myform.singole.value;
    var v2=127;
    myform.singolep.value=v1*v2*myform.giorni.value;
    }


    if (myform.istruttorep.value!=0)
    {
    var v1=80;
    myform.istruttorep.value=v1*myform.giorni.value;
    }

    if (myform.guidasubp.value!=0)
    {
    var v1=66;
    myform.guidasubp.value=v1*myform.giorni.value;
    }

    if (myform.infermierep.value!=0)
    {
    var v1=87;
    myform.infermierep.value=v1*myform.giorni.value;
    }

    if (myform.chefp.value!=0)
    {
    var v1=220;
    myform.chefp.value=v1*myform.giorni.value;
    }

    if (myform.bodyp.value!=0)
    {
    var v1=160;
    myform.bodyp.value=v1*myform.giorni.value;
    }

    if (myform.babyp.value!=0)
    {
    var v1=70;
    myform.babyp.value=v1*myform.giorni.value;
    }

    if (myform.guidap.value!=0)
    {
    var v1=100;
    myform.guidap.value=v1*myform.giorni.value;
    }

    if (myform.camerierep.value!=0)
    {
    var v1=105;
    myform.camerierep.value=v1*myform.giorni.value;
    }

    if (myform.costo.value!="")
    var t1=eval(myform.costo.value);
    else
    var t1=0;

    if (myform.equi.value!="")
    var t2=eval(myform.equi.value);
    else
    var t2=0;

    if (myform.datap.value!="")
    var t3=eval(myform.datap.value);
    else
    var t3=0;

    if (myform.part.value!="")
    var t4=eval(myform.part.value);
    else
    var t4=0;

    if (myform.duratap.value!="")
    var t5=eval(myform.duratap.value);
    else
    var t5=0;

    if (myform.mezzap.value!="")
    var t6=eval(myform.mezzap.value);
    else
    var t6=0;

    if (myform.fullp.value!="")
    var t7=eval(myform.fullp.value);
    else
    var t7=0;

    if (myform.menup.value!="")
    var t8=eval(myform.menup.value);
    else
    var t8=0;

    if (myform.cabinep.value!="")
    var t9=eval(myform.cabinep.value);
    else
    var t9=0;

    if (myform.singolep.value!="")
    var t10=eval(myform.singolep.value);
    else
    var t10=0;

    if (myform.aggiuntop.value!="")
    var t11=eval(myform.aggiuntop.value);
    else
    var t11=0;

    if (myform.istruttorep.value!="")
    var t12=eval(myform.istruttorep.value);
    else
    var t12=0;

    if (myform.guidasubp.value!="")
    var t13=eval(myform.guidasubp.value);
    else
    var t13=0;

    if (myform.infermierep.value!="")
    var t14=eval(myform.infermierep.value);
    else
    var t14=0;

    if (myform.chefp.value!="")
    var t15=eval(myform.chefp.value);
    else
    var t15=0;

    if (myform.bodyp.value!="")
    var t16=eval(myform.bodyp.value);
    else
    var t16=0;

    if (myform.babyp.value!="")
    var t17=eval(myform.babyp.value);
    else
    var t17=0;

    if (myform.guidap.value!="")
    var t18=eval(myform.guidap.value);
    else
    var t18=0;

    if (myform.camerierep.value!="")
    var t19=eval(myform.camerierep.value);
    else
    var t19=0;

    myform.totalep.value=parseFloat(t1+t2+t3+t4+t5+t6+ t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19);

    var s1=eval(myform.totalep.value);
    myform.agenziap.value=(10*s1/100);
    var s2=eval(myform.agenziap.value);
    var s3=s1+s2;
    myform.ivap.value=(20*s3/100);
    var s4=eval(myform.ivap.value);

    if (myform.scontop.value==0)
    {
    myform.nettop.value=parseFloat(s3+s4);
    }else{
    ss5=eval(myform.scontop.value);
    myform.nettop.value=parseFloat(s3+s4-ss5);
    }

    s5=eval(myform.nettop.value);

    if (myform.partecipanti.value!="")
    {
    var p1=eval(myform.partecipanti.value);
    myform.personap.value=s5/p1;
    }

    }
    </script>

    Questo come passo i "dati" dal form:

    <tr>
    <td width=50% height=25><font size=2 face=verdana color=red>Numero dei partecipanti</td><td align=center width=15%>n°</td><td width=10% align=center><input name=partecipanti size=3 onKeyUp=\"Partecipanti(this.form);calcola(this.for m);\"></td><td width=10% align=right><input name=\"part\" type=\"text\" id=\"part\" readonly>
    </tr>


    Grazie.....

  2. #2

    HELP

    Nessuno può aiutarmi????

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Aiuterebbe se metti la pagina online che faciliterebbe la lettura sia del codice che capire la logica dello script.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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