Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437

    foglio calcolo, misurazione minima

    Ciao ragazzi!

    Ho fatto un form per il preventivo che esegue i calcoli in base alle misure inserite nei campi <input> moltiplicando il risultato per il prezzo al metro quadro.

    Il mio problema e che non riesco a trovare niente che mi dia uno spunto su come posso fare a dare una misurazione minimo.. cioe.. se i mq sviluppati dai campi input sono 1,68.. io vorrei che lo script me li calcolasse come 2 metri e scrivendo accnanto una frase tipo "misurazione minima 2 mq"

    Potete darmi qualche dritta pls?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    nessuno?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Ragazzi io ancora non ce l'ho fatta a farlo. qualche suggerimento per favore

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non e' chiara la domanda... non basta un semplice if ?

    if(totale<2) {
    alert("minimo 2 mq!");
    totale = 2;
    }
    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

  5. #5
    Ciao,
    qualcosa del genere?

    codice:
    <html>
    <head>
    
    <script type="text/javascript">
       su_min = 2;
       function calcola() {
          ou = "";
          document.getElementById('prezzo_finale').innerHTML = ou;
          la = document.getElementById('larghezza').value;
          lu = document.getElementById('lunghezza').value;
          pr = document.getElementById('prezzo').value;
          if ((la <= 0) || (lu <= 0) || (pr <= 0) || (isNaN(la)) || (isNaN(lu)) || (isNaN(pr))) {
             alert ("Devi riempire tutti i campi con valori numerici maggiori di zero");
          } else {
             su = la * lu;
             if (su < su_min) {
                ou = '<span style="font-size:20px; font-weight:bold; color:red;">ATTENZIONE: questo risultato è stato ottenuto considerando la superficie minima di 2 mq</span>
    ';
                su = su_min;
             }
             ou = ou + '<span style="font-size:20px; font-weight:bold; color:blue;">PREZZO FINALE: ' + Math.round((su * pr) *100)/100 + '</span>';
          }
          document.getElementById('prezzo_finale').innerHTML = ou;
       }
    
    </script>
    
    </head>
    
    <body>
    
    <div id="dati_inp">
    
       <form action="#">
          Larghezza in m: <input type="text" id="larghezza" />
          
    
          Lunghezza in m: <input type="text" id="lunghezza" />
          
    
          Prezzo al mq: <input type="text" id="prezzo" />
          
    
          <input type="button" value="calcola" onclick="calcola()" />
       </form>
    
    </div>
    
    <div id="prezzo_finale">
    </div>
    
    </body>
    </html>
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    La risposta di Noncelafaccio+ e proprio quello di cui ho bisogno.
    Ma e da ieri che sto scapocciando per riuscire a inserirla nel mio foglio di calcolo ma non ci riesco propri.
    Allego l'intero script su cui sto lavorando, nella speranza che mi aiutate a risolvere questo intoppo.
    Grazie in anticipo.
    Codice PHP:
    <script type="text/javascript" language="JavaScript">
    <!--
    function dp(price) 
    {
       string = "" + price;
       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() {

    var ops ="";
    var prezzomq = 275;
    var mismin = 200;
    var totale1 = dp(((document.calcform.altezza1.value)*(document.calcform.larghezza1.value)/10000))
    var totale2 = dp(((document.calcform.altezza2.value)*(document.calcform.larghezza2.value)/10000))
    var totale3 = dp(((document.calcform.altezza3.value)*(document.calcform.larghezza3.value)/10000))
    var totale4 = dp(((document.calcform.altezza4.value)*(document.calcform.larghezza4.value)/10000))
    var totale5 = dp(((document.calcform.altezza5.value)*(document.calcform.larghezza5.value)/10000))
     
    document.calcform.totalfin1.value = totale1
    document.calcform.totalfin2.value = totale2
    document.calcform.totalfin3.value = totale3
    document.calcform.totalfin4.value = totale4
    document.calcform.totalfin5.value = totale5


    document.calcform.total1.value = dp(((document.calcform.totalfin1.value)*prezzomq))
    document.calcform.total2.value = dp(((document.calcform.totalfin2.value)*prezzomq))
    document.calcform.total3.value = dp(((document.calcform.totalfin3.value)*prezzomq))
    document.calcform.total4.value = dp(((document.calcform.totalfin4.value)*prezzomq))
    document.calcform.total5.value = dp(((document.calcform.totalfin5.value)*prezzomq))
    document.calcform.totalprev.value = dp(eval(document.calcform.total1.value) + eval(document.calcform.total2.value) + eval(document.calcform.total3.value) + eval(document.calcform.total4.value) + eval(document.calcform.total5.value))

    }
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }
     
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
     
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>

     
    <body onload="calculate()"> 



        <script type="text/javascript">
            
    function onlynumbers(s){
      Filtro = /[^0-9]/;
      s.value = s.value.replace(Filtro,"");
    }
    </script>
    <font face="verdana" size="2">[b] Modulo in fase di sviluppo. Non e' assolutamente da ritenersi affidabile [/b]</font>


    <font face="verdana" size="2">[b] Anche se il modulo e automatico ti preghiamo di cliccare il tasto "Calcola" per verificare l'esattezza del intero preventivo e passare alla pagina di stampa.[/b]</font>


    <div id="apDiv1">
    <div id="preventivo"> 
    <form name="calcform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 


    <table>
    <tr><td>Cognome:<font color="red">*</font></td><td><input type="text" name="cognome" size="10"></td><td>Nome:<font color="red">*</font></td><td><input type="text" name="nome" size="10"></td><td></td><td></td></tr>
    <tr><td>Indirizzo:<font color="red">*</font></td><td><input type="text" name="via" size="12"></td><td>Nr.<font color="red">*</font></td><td><input type="text" name="civico" size="1"></td><td>Piano:<font color="red">*</font></td><td><input type="text" name="piano" size="1"></td><tr>
    <tr><td>Citta':<font color="red">*</font></td><td><input type="text" name="city" size="10"></td><td>Cap:<font color="red">*</font></td><td><input type="text" name="cap" size="5"></td><td></td><td></td></tr>
    <tr><td>Telefono:<font color="red">*</font></td><td><input type="text" name="tel" size="10"></td><td>Mobile:</td><td><input type="text" name="mobi" size="10"></td><td></td><td></td></tr>
    </table>


    <font color="red">*</font> Campi obbligatori.





    <tr>
    <td width="250" align="right">Colore:</td> 
    <td width="75" bgcolor="#ccc"> Bianco <input onclick="calculate()" checked="checked"  type="radio" value="bianco" name="colore" /></td>
    <td width="75"align="right" bgcolor="#ccc"> Noce <input onclick="calculate()" type="radio" value="noce" name="colore" /></td>
    <td width="75"align="right"> Mogano <input onclick="calculate()" type="radio" value="mogano" name="colore" /></td>
    <td width="75"align="right"> Castagno <input onclick="calculate()" type="radio" value="castagno" name="colore" /></td>
    <td width="75"align="right"> Wenge <input onclick="calculate()" type="radio" value="wenge" name="colore" /></td>
    </tr>



    <table border="0" cellpadding="2" cellspacing="2"> 
    <tbody> 
    <tr> 
    <td></td>
    <td></td>
    <td width="50">Tipo</td>
    <td width="50">Alt(cm)</td>
    <td width="50">Lar (cm)</td>
    <td width="55">MQ</td>
    <td width="10"></td>
    <td width="50">Prezzo </td> 
    <td></td>
    </tr>
    <tr>
    <td>1)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza1"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza1"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin1"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total1"></td> 
    <td></td>
    </tr>
    <tr>
    <td>2)</td> 
    <td align="center"><a href="tipfine.html" rel="lyteframe" title="Leggenda tipologia finestre" rev="width: 550px; height: 400px; scrolling: yes;">[img]../images/help.png[/img]</td> 
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza2"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza2"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin2"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total2"></td> 
    <td></td>
    </tr>
    <tr>
    <td>3)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza3"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza3"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin3"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total3"></td> 
    <td></td>
    </tr>
    <tr>
    <td>4)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza4"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza4"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin4"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total4"></td> 
    <td></td>
    </tr>
    <tr>
    <td>5)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza5"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza5"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin5"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total5"></td> 
    <td>[img]../images/addfine.png[/img]</td>
    </tr>
    <tr>
    <td></td> 
    <td></td> 
    <td></td>
    <td></td>
    <td></td>
    <td align="right">Totale</td>
    <td>[img]../images/euro.png[/img]</td>
    <td><input disabled="disabled" size="5" value="0.00" name="totalprev"></td>
    </tr>
    <tr>
    <td></td> 
    <td></td> 
    <td></td>
    <td>Data:</td>
    <td><input type="text" disabled="disabled" size="8" value="<?echo (date("d/m/Y"));?>" name="data"></td>
    <td></td>
    <td></td>
    <td><input onclick="calculate()" name="invia" value="Calcola!" type="submit"></td>
    <td></td>
    </tr>
    </tbody></table>
    </form>

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    nada?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    dovrebbe essere cosi se ho capito bene....

    Originariamente inviato da mario19xx
    La risposta di Noncelafaccio+ e proprio quello di cui ho bisogno.
    Ma e da ieri che sto scapocciando per riuscire a inserirla nel mio foglio di calcolo ma non ci riesco propri.
    Allego l'intero script su cui sto lavorando, nella speranza che mi aiutate a risolvere questo intoppo.
    Grazie in anticipo.
    Codice PHP:
    <script type="text/javascript" language="JavaScript">
    <!--
    function dp(price) 
    {
       string = "" + price;
       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() {

    var ops ="";
    var prezzomq = 275;
    var mismin = 200;
    [COLOR=red]var su_min = 2;[/COLOR] 
    var totale1 = dp(((document.calcform.altezza1.value)*(document.calcform.larghezza1.value)/10000))
    [COLOR=red]if (totale1 < su_min) totale1 = su_min;[/COLOR] 
    var totale2 = dp(((document.calcform.altezza2.value)*(document.calcform.larghezza2.value)/10000))
    var totale3 = dp(((document.calcform.altezza3.value)*(document.calcform.larghezza3.value)/10000))
    var totale4 = dp(((document.calcform.altezza4.value)*(document.calcform.larghezza4.value)/10000))
    var totale5 = dp(((document.calcform.altezza5.value)*(document.calcform.larghezza5.value)/10000))
     
    document.calcform.totalfin1.value = totale1
    document.calcform.totalfin2.value = totale2
    document.calcform.totalfin3.value = totale3
    document.calcform.totalfin4.value = totale4
    document.calcform.totalfin5.value = totale5


    document.calcform.total1.value = dp(((document.calcform.totalfin1.value)*prezzomq))
    document.calcform.total2.value = dp(((document.calcform.totalfin2.value)*prezzomq))
    document.calcform.total3.value = dp(((document.calcform.totalfin3.value)*prezzomq))
    document.calcform.total4.value = dp(((document.calcform.totalfin4.value)*prezzomq))
    document.calcform.total5.value = dp(((document.calcform.totalfin5.value)*prezzomq))
    document.calcform.totalprev.value = dp(eval(document.calcform.total1.value) + eval(document.calcform.total2.value) + eval(document.calcform.total3.value) + eval(document.calcform.total4.value) + eval(document.calcform.total5.value))

    }
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }
     
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
     
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>

     
    <body onload="calculate()"> 



        <script type="text/javascript">
            
    function onlynumbers(s){
      Filtro = /[^0-9]/;
      s.value = s.value.replace(Filtro,"");
    }
    </script>
    <font face="verdana" size="2">[b] Modulo in fase di sviluppo. Non e' assolutamente da ritenersi affidabile [/b]</font>


    <font face="verdana" size="2">[b] Anche se il modulo e automatico ti preghiamo di cliccare il tasto "Calcola" per verificare l'esattezza del intero preventivo e passare alla pagina di stampa.[/b]</font>


    <div id="apDiv1">
    <div id="preventivo"> 
    <form name="calcform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 


    <table>
    <tr><td>Cognome:<font color="red">*</font></td><td><input type="text" name="cognome" size="10"></td><td>Nome:<font color="red">*</font></td><td><input type="text" name="nome" size="10"></td><td></td><td></td></tr>
    <tr><td>Indirizzo:<font color="red">*</font></td><td><input type="text" name="via" size="12"></td><td>Nr.<font color="red">*</font></td><td><input type="text" name="civico" size="1"></td><td>Piano:<font color="red">*</font></td><td><input type="text" name="piano" size="1"></td><tr>
    <tr><td>Citta':<font color="red">*</font></td><td><input type="text" name="city" size="10"></td><td>Cap:<font color="red">*</font></td><td><input type="text" name="cap" size="5"></td><td></td><td></td></tr>
    <tr><td>Telefono:<font color="red">*</font></td><td><input type="text" name="tel" size="10"></td><td>Mobile:</td><td><input type="text" name="mobi" size="10"></td><td></td><td></td></tr>
    </table>


    <font color="red">*</font> Campi obbligatori.





    <tr>
    <td width="250" align="right">Colore:</td> 
    <td width="75" bgcolor="#ccc"> Bianco <input onclick="calculate()" checked="checked"  type="radio" value="bianco" name="colore" /></td>
    <td width="75"align="right" bgcolor="#ccc"> Noce <input onclick="calculate()" type="radio" value="noce" name="colore" /></td>
    <td width="75"align="right"> Mogano <input onclick="calculate()" type="radio" value="mogano" name="colore" /></td>
    <td width="75"align="right"> Castagno <input onclick="calculate()" type="radio" value="castagno" name="colore" /></td>
    <td width="75"align="right"> Wenge <input onclick="calculate()" type="radio" value="wenge" name="colore" /></td>
    </tr>



    <table border="0" cellpadding="2" cellspacing="2"> 
    <tbody> 
    <tr> 
    <td></td>
    <td></td>
    <td width="50">Tipo</td>
    <td width="50">Alt(cm)</td>
    <td width="50">Lar (cm)</td>
    <td width="55">MQ</td>
    <td width="10"></td>
    <td width="50">Prezzo </td> 
    <td></td>
    </tr>
    <tr>
    <td>1)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza1"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza1"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin1"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total1"></td> 
    <td></td>
    </tr>
    <tr>
    <td>2)</td> 
    <td align="center"><a href="tipfine.html" rel="lyteframe" title="Leggenda tipologia finestre" rev="width: 550px; height: 400px; scrolling: yes;">[img]../images/help.png[/img]</td> 
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza2"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza2"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin2"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total2"></td> 
    <td></td>
    </tr>
    <tr>
    <td>3)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza3"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza3"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin3"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total3"></td> 
    <td></td>
    </tr>
    <tr>
    <td>4)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza4"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza4"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin4"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total4"></td> 
    <td></td>
    </tr>
    <tr>
    <td>5)</td>
    <td align="center">[url="tipfine.html"][img]../images/help.png[/img][/url]</td> 
    <td></td>
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza5"></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza5"></td> 
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin5"></td>
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="total5"></td> 
    <td>[img]../images/addfine.png[/img]</td>
    </tr>
    <tr>
    <td></td> 
    <td></td> 
    <td></td>
    <td></td>
    <td></td>
    <td align="right">Totale</td>
    <td>[img]../images/euro.png[/img]</td>
    <td><input disabled="disabled" size="5" value="0.00" name="totalprev"></td>
    </tr>
    <tr>
    <td></td> 
    <td></td> 
    <td></td>
    <td>Data:</td>
    <td><input type="text" disabled="disabled" size="8" value="<?echo (date("d/m/Y"));?>" name="data"></td>
    <td></td>
    <td></td>
    <td><input onclick="calculate()" name="invia" value="Calcola!" type="submit"></td>
    <td></td>
    </tr>
    </tbody></table>
    </form>

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Ottimo! anzi quasi perfetto.
    l'unico problemino e che se i campi sono vuoti si calcola automaticamente i 550.
    il fatto e che se io metto spazio per 20 misure e il cliente ha solo 5 finestre, i campi vuoti me glie li conta come misurazione minima.

    Si puo fare qualcosa anche per questo?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    credo ti basti aggiunge alla condizione totale1 > 0
    cioè:

    codice:
    <script type="text/javascript" language="JavaScript"> 
    <!-- 
    function dp(price)  
    { 
       string = "" + price; 
       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() { 
    
    var ops =""; 
    var prezzomq = 275; 
    var mismin = 200; 
    var su_min = 2;  
    var totale1 = dp(((document.calcform.altezza1.value)*(document.calcform.larghezza1.value)/10000)) 
     if (totale1 < su_min && totale1 > 0) totale1 = su_min;  
    var totale2 = dp(((document.calcform.altezza2.value)*(document.calcform.larghezza2.value)/10000)) 
    var totale3 = dp(((document.calcform.altezza3.value)*(document.calcform.larghezza3.value)/10000)) 
    var totale4 = dp(((document.calcform.altezza4.value)*(document.calcform.larghezza4.value)/10000)) 
    var totale5 = dp(((document.calcform.altezza5.value)*(document.calcform.larghezza5.value)/10000)) 
      
    document.calcform.totalfin1.value = totale1 
    document.calcform.totalfin2.value = totale2 
    document.calcform.totalfin3.value = totale3 
    document.calcform.totalfin4.value = totale4 
    document.calcform.totalfin5.value = totale5 
    
    
    document.calcform.total1.value = dp(((document.calcform.totalfin1.value)*prezzomq)) 
    document.calcform.total2.value = dp(((document.calcform.totalfin2.value)*prezzomq)) 
    document.calcform.total3.value = dp(((document.calcform.totalfin3.value)*prezzomq)) 
    document.calcform.total4.value = dp(((document.calcform.totalfin4.value)*prezzomq)) 
    document.calcform.total5.value = dp(((document.calcform.totalfin5.value)*prezzomq)) 
    document.calcform.totalprev.value = dp(eval(document.calcform.total1.value) + eval(document.calcform.total2.value) + eval(document.calcform.total3.value) + eval(document.calcform.total4.value) + eval(document.calcform.total5.value)) 
    
    } 
    function MM_swapImgRestore() { //v3.0 
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 
    } 
    function MM_preloadImages() { //v3.0 
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
    } 
      
    function MM_findObj(n, d) { //v4.01 
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
      if(!x && d.getElementById) x=d.getElementById(n); return x; 
    } 
      
    function MM_swapImage() { //v3.0 
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 
    } 
    //--> 
    </script> 
    
      
    <body onload="calculate()">  
    
     
    
        <script type="text/javascript"> 
             
    function onlynumbers(s){ 
      Filtro = /[^0-9]/; 
      s.value = s.value.replace(Filtro,""); 
    } 
    </script> 
    <font face="verdana" size="2"> Modulo in fase di sviluppo. Non e' assolutamente da ritenersi affidabile </font>
    
     
    <font face="verdana" size="2"> Anche se il modulo e automatico ti preghiamo di cliccare il tasto "Calcola" per verificare l'esattezza del intero preventivo e passare alla pagina di stampa.</font>
    
     
    <div id="apDiv1"> 
    <div id="preventivo">  
    <form name="calcform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">  
    
    
    <table> 
    <tr><td>Cognome:<font color="red">*</font></td><td><input type="text" name="cognome" size="10"></td><td>Nome:<font color="red">*</font></td><td><input type="text" name="nome" size="10"></td><td></td><td></td></tr> 
    <tr><td>Indirizzo:<font color="red">*</font></td><td><input type="text" name="via" size="12"></td><td>Nr.<font color="red">*</font></td><td><input type="text" name="civico" size="1"></td><td>Piano:<font color="red">*</font></td><td><input type="text" name="piano" size="1"></td><tr> 
    <tr><td>Citta':<font color="red">*</font></td><td><input type="text" name="city" size="10"></td><td>Cap:<font color="red">*</font></td><td><input type="text" name="cap" size="5"></td><td></td><td></td></tr> 
    <tr><td>Telefono:<font color="red">*</font></td><td><input type="text" name="tel" size="10"></td><td>Mobile:</td><td><input type="text" name="mobi" size="10"></td><td></td><td></td></tr> 
    </table> 
    
     
    <font color="red">*</font> Campi obbligatori. 
    
    
    
    
     
    <tr> 
    <td width="250" align="right">Colore:</td>  
    <td width="75" bgcolor="#ccc"> Bianco <input onclick="calculate()" checked="checked"  type="radio" value="bianco" name="colore" /></td> 
    <td width="75"align="right" bgcolor="#ccc"> Noce <input onclick="calculate()" type="radio" value="noce" name="colore" /></td> 
    <td width="75"align="right"> Mogano <input onclick="calculate()" type="radio" value="mogano" name="colore" /></td> 
    <td width="75"align="right"> Castagno <input onclick="calculate()" type="radio" value="castagno" name="colore" /></td> 
    <td width="75"align="right"> Wenge <input onclick="calculate()" type="radio" value="wenge" name="colore" /></td> 
    </tr> 
    
    
     
    <table border="0" cellpadding="2" cellspacing="2">  
    <tbody>  
    <tr>  
    <td></td> 
    <td></td> 
    <td width="50">Tipo</td> 
    <td width="50">Alt(cm)</td> 
    <td width="50">Lar (cm)</td> 
    <td width="55">MQ</td> 
    <td width="10"></td> 
    <td width="50">Prezzo </td>  
    <td></td> 
    </tr> 
    <tr> 
    <td>1)</td> 
    <td align="center">[img]../images/help.png[/img]</td>  
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza1"></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza1"></td>  
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin1"></td> 
    <td>[img]../images/euro.png[/img]</td>  
    <td><input disabled="disabled" size="5" value="0.00" name="total1"></td>  
    <td></td> 
    </tr> 
    <tr> 
    <td>2)</td>  
    <td align="center"><a href="tipfine.html" rel="lyteframe" title="Leggenda tipologia finestre" rev="width: 550px; height: 400px; scrolling: yes;">[img]../images/help.png[/img]</td>  
    <td></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza2"></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza2"></td>  
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin2"></td> 
    <td>[img]../images/euro.png[/img]</td>  
    <td><input disabled="disabled" size="5" value="0.00" name="total2"></td>  
    <td></td> 
    </tr> 
    <tr> 
    <td>3)</td> 
    <td align="center">[img]../images/help.png[/img]</td>  
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza3"></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza3"></td>  
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin3"></td> 
    <td>[img]../images/euro.png[/img]</td>  
    <td><input disabled="disabled" size="5" value="0.00" name="total3"></td>  
    <td></td> 
    </tr> 
    <tr> 
    <td>4)</td> 
    <td align="center">[img]../images/help.png[/img]</td>  
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza4"></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza4"></td>  
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin4"></td> 
    <td>[img]../images/euro.png[/img]</td>  
    <td><input disabled="disabled" size="5" value="0.00" name="total4"></td>  
    <td></td> 
    </tr> 
    <tr> 
    <td>5)</td> 
    <td align="center">[img]../images/help.png[/img]</td>  
    <td></td> 
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="altezza5"></td>  
    <td><input onkeypress="onlynumers(this)" onkeyup="onlynumbers(this)" size="8" onchange="calculate()" name="larghezza5"></td>  
    <td><input disabled="disabled" size="2" value="0.00" name="totalfin5"></td> 
    <td>[img]../images/euro.png[/img]</td>  
    <td><input disabled="disabled" size="5" value="0.00" name="total5"></td>  
    <td>[img]../images/addfine.png[/img]</td> 
    </tr> 
    <tr> 
    <td></td>  
    <td></td>  
    <td></td> 
    <td></td> 
    <td></td> 
    <td align="right">Totale</td> 
    <td>[img]../images/euro.png[/img]</td> 
    <td><input disabled="disabled" size="5" value="0.00" name="totalprev"></td> 
    </tr> 
    <tr> 
    <td></td>  
    <td></td>  
    <td></td> 
    <td>Data:</td> 
    <td><input type="text" disabled="disabled" size="8" value="<?echo (date("d/m/Y"));?>" name="data"></td> 
    <td></td> 
    <td></td> 
    <td><input onclick="calculate()" name="invia" value="Calcola!" type="submit"></td> 
    <td></td> 
    </tr> 
    </tbody></table> 
    </form>

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.