Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema con calcolo

  1. #1

    Problema con calcolo

    ho questa pagina html:

    __________________________________________________ _____________________________
    <html>
    <head>
    <title>Calcola il tuo BMI</title>
    </head>
    <body>
    <h2 align="center">Calcola il tuo indice di massa corporeo (rapporto peso/altezza)</h2>
    <div align="center">
    [img]file:///C:/Users/*****/Desktop/bmiitalia.gif[/img]


    <script type="text/javascript">
    var a;
    var b;
    var bmi =a/(b*b);
    bmi = Math.round(bmi);
    </script>
    <h3>Inserisci nel campo sottostante il tuo peso in kg e l'altezza in cm</h3>
    <script type="text/javascript">
    function cancella(obj,text){
    if(obj.value == text)
    obj.value = "";
    else if(obj.value == '')
    obj.value = text;
    }
    </script>
    <form name="b">
    <input value="peso" type="text" name="p" onfocus="cancella(this,'peso');">


    <div style="margin-top:10px;">
    <input value="altezza" type="text" name="a" onfocus="cancella(this,'altezza');">



    </div>
    <input type="submit" value="Calcola">




    </form>
    <script type="text/javascript">
    document.write("Il tuo indice di massa corporea è: "+bmi);
    </script>
    </div>
    </body>
    </html>
    __________________________________________________ ____________________________
    qui una schermata (lo sto facendo in locale)
    cliccateci per ingrandire



    vorrei far inserire all'utente nell'input text il suo peso in kg
    e nel secondo input la sua altezza in cm e poi cliccando sul pulsante "calcola"
    restituire di sotto il rapporto tra i due valori come potete vedere nell'immagine di sopra.

    dove sbaglio?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto sul forum

    codice:
    <html>
    <head>
    <title>Calcola il tuo BMI</title>
    <script type="text/javascript">
    function calcola() {
    	var wa = parseInt(document.fb.a.value);
    	var wp = parseInt(document.fb.p.value);
    	var bmi = wa/(wp*wp);
    	bmi = bmi.toFixed(2)
    	document.getElementById("div_out").innerHTML = "Il tuo indice di massa corporea è: "+bmi;
    }
    function cancella(obj,text){ 
    	if(obj.value == text) 
    		obj.value = ""
    	else if(obj.value == '')
    		obj.value = text;
    }
    </script>
    </head>
    <body>
    <h2 align="center">Calcola il tuo indice di massa corporeo (rapporto peso/altezza)</h2>
    <div align="center">
    [img]file:///C:/Users/*****/Desktop/bmiitalia.gif[/img]
    
    
    <h3>Inserisci nel campo sottostante il tuo peso in kg e l'altezza in cm</h3>
    <form name="fb">
    <input value="peso" type="text" name="p" onfocus="cancella(this,'peso');" onblur="cancella(this,'peso');"> 
    
    
    <div style="margin-top:10px;">
    <input value="altezza" type="text" name="a" onfocus="cancella(this,'altezza');" onblur="cancella(this,'altezza');"> 
    
    
    
    </div>
    <input type="button" value="Calcola" onclick="calcola()">
    
    
    
    
    </form>
    <div id="div_out"></div>
    </div>
    </body>
    </html>
    Ti consiglio un esame delle differenze e concomitante lettura del manuale per scoprirne i motivi

    ciao

    ps: non mi pare che la formula applicata sia corretta.... :master:
    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

  3. #3
    il forum è fatto per aiutare.

    la tua non mi è sembrata una risposta di grande aiuto.

    Secondo te, non l'ho vista e rivista la sintassi prima di postare?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Escomputers
    il forum è fatto per aiutare.

    la tua non mi è sembrata una risposta di grande aiuto.

    Secondo te, non l'ho vista e rivista la sintassi prima di postare?
    Quindi postando la sintassi un tantinello piu' corretta della tua non ti ho aiutato

    A dimostrazione che non si finisce mai di imparare

    Il forum e' fatto per aiutare chi si lascia aiutare, magari con solo un suggerimento... e chi prova ad aiutare lo fa per il proprio piacere, altrimenti si astiene
    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
    non volevo dire quello...anzi!

    function calcola() {
    var wa = parseInt(document.fb.a.value);
    var wp = parseInt(document.fb.p.value);
    var bmi = wa/(wp*wp);
    bmi = bmi.toFixed(2)
    document.getElementById("div_out").innerHTML = "Il tuo indice di massa corporea è: "+bmi;
    }

    con il parseInt hai convertito la stringa in numero giusto?

    non ho capito solo la stringa: bmi.toFixed(2)...

    ho provato a inserire per esempio nel form peso 80 e nell'altezza 175.
    e mi da un risultato errato perchè restituisce: 0.03.
    quando dovrebbe essere: 26 con il Math.round. perchè il calcolo è(80/1.75*1.75)

    grazie intanto!

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se introduci l'altezza in centimetri ma la formula richiede metri devi prima trasformarli...

    ciao
    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

  7. #7
    ho provato ad inserire i metri e non funziona ugualmente..

    non importa se sono cm o m l'importante è il risultato..

    ps: se al posto dei form volessi inserire un window.prompt come potrei cambiare il codice?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Correggi:

    var wa = parseInt(document.fb.a.value)/100;
    var wp = parseInt(document.fb.p.value);
    var bmi = wp/(wa*wa);


    ciao

    ps: Per il prompt... dipende... deve apparire all'apertura della pagina o alla pressione di un link/pulsante?
    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

  9. #9
    all'apertura della pagina riesco.
    non riesco al click di un pulsante...

    all'apertura della pagina il codice mi funziona:

    var 1 = window.prompt ecc..

    ma quando c'è un onclick come faccio ad assegnare la variabile al prompt??

    onclick=var 1 = window.prompt non funziona!

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.