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

    form si resetta da sola dopo funzione js

    Ho una form con due campi inseriti dall'utente e un terzo campo disabled in cui una funzione js calcola un valore in base ai dati inseriti nei primi due campi. Il problema è che al click del button il valore compare solo per un secondo, dopo di che la form si resetta. Se metto un alert in fondo, il valore resta finchè non clicco ok sull'alert, quindi si resetta la form. Non capisco perchè fa così e come evitarlo, lasciando che il valore calcolato e quelli inseriti dall'utente rimangano scritti, finchè non esegue un nuovo calcolo.
    Questo il js:

    codice:
    var imc;
    function calcolaIMC() {
        peso = document.getElementById('peso').value;            
        altezza = document.getElementById('altezza').value;      
        altezza/=100;                                            
        imc = peso / (altezza * altezza);                        
        imc = parseInt(imc*100) / 100;                           
        document.getElementById('risultato').value=imc;        
        alert('prova');
    }
    e questo in sintesi è l'html:
    codice HTML:
    <form>
    <input id="peso" type="text">
    <input id="altezza" type="text">
    <input id="risultato" type="text" disabled="true" value="">
    <button onclick="calcolaIMC()">Calcola!</button>
    </form>
    Un grazie in anticipo a chi saprà aiutarmi!

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Non è che in qualche modo esegue il submit e ricarica la pagina?
    Prova con
    codice:
    <form onsubmit="calcolaIMC(); return false;">
    al posto dell'onclick.
    Oppure
    codice:
    <form onsubmit="return false;">...<button onCLick="calcolaIMC();" >....

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.