Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9

    Script calcolo preventivo, problema NaN

    Ciao a tutti,

    come da oggetto ho il problema NaN nel risultato finale, segue il codice del file js e di quello html. Qualcuno saprebbe aiutarmi cortesemente?

    Grazie mille

    codice:
    function calcolaCosto(){
    	var costoB = document.getElementById("bianco")*0.03;
    	var costoR = document.getElementById("rosso")*0.30;
    	costo = costoB + costoR;
    	return costo;
    } 
    
    
    function calculateTotal()
    {
        
        var tot = calcolaCosto();
        
        
        var divobj = document.getElementById('totalPrice');
        divobj.style.display='block';
        divobj.innerHTML = "Preventivo € "+tot;
    
    
    }
    
    
    function hideTotal()
    {
        var divobj = document.getElementById('totalPrice');
        divobj.style.display='none';
    
    }


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <title>ciao</title>
        <script type="text/javascript" src="js/formcalculations.js"></script>
    </head>
    <body onload='hideTotal()'>
        <div id="wrap">
            <form action="" id="prev" onsubmit="return false;">
            <div>
                <div class="cont_order">
                   <fieldset>
                    <legend>Calcola il preventivo</legend>
                    
                 	bianco<br/>
    				<input type="number" id="bianco" name="white" oninput="calculateTotal()" /><br/>
    				rosso<br/>
    				<input type="number" id="rosso" name="red" oninput="calculateTotal()" /><br/>
                                    <br/>
                    
                    <div id="totalPrice"></div>
                    
                    </fieldset>
                </div>
                
     
            </div>  
           </form>
    	</div><!--End of wrap-->
    
    
    </body>
    
    </html>


  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,674
    Ciao, per recuperare il valore di un elemento input devi usare la proprietà value:
    codice:
    ...
    document.getElementById("bianco").value*0.03;
    ...
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    Grazie mille KillerWorm.

    Ora avrei un ultimo problema, come arrotondare a 2 cifre decimali il risultato finale. Sapresti aiutarmi?
    e tu non vai??

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,674
    Grazie mille KillerWorm.
    Figurati
    Ora avrei un ultimo problema, come arrotondare a 2 cifre decimali il risultato finale. Sapresti aiutarmi?
    In realtà non ti serve il mio aiuto, basta qualche semplice ricerca sul forum o sul web. Dopo che hai cercato, prova ad applicare qualche soluzione trovata; se poi riscontri dei problemi puoi postare qui per chiedere aiuto.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    ho risolto così:
    codice:
    costo=Math.round(costo*100)/100;
    grazie mille
    e tu non vai??

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,674
    bene
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Quote Originariamente inviata da leffy85 Visualizza il messaggio
    ho risolto così:
    codice:
    costo=Math.round(costo*100)/100;
    grazie mille
    Un'alternativa meno verbosa:

    codice:
    costo=costo.toFixed(2);


    https://www.w3schools.com/jsref/jsref_tofixed.asp

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.