Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48

    calcolo somma istantanea

    Ho un form con vari campi, man mano che l'utente inserisce i valori in automatico devo calcolare e visualizzare la somma in altri campi.
    Praticamente ho:
    campo1
    campo2
    campo3

    ma mano che l'utente inserisce i valori in campo1 e campo2 in campo3 visualizzo la somma.
    Come posso fare?
    grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Dovresti usare l'evento onBlur() sui vari campi, in modo che ogni volta che togli il focus da un campo, venga richiamata la funzione che fa la somma. Il problema è che se un campo vuoto ed un campo valorizzato a 0 sono due cose totalmente differenti: non puoi fare la somma di un numero più "null".
    Il codice dovrà essere qualcosa di simile:

    codice:
    1) nell'header inserisci:
    
    <script language="JavaScript">
    <!--
    function somma() {
     var addendo1=document.nomeForm.campo1.value;
     var addendo2=document.nomeForm.campo2.value;
    
     if (isNaN(addendo1)) {
      if (addendo1=="") {
       addendo1="0";
      } else {
       window.alert("il valore inserito non è un numero");
       document.nomeForm.campo1.focus();
      }
     }
     
     if (isNaN(addendo2)) {
      if (addendo2=="") {
       addendo1="0";
      } else {
       window.alert("il valore inserito non è un numero");
       document.nomeForm.campo2.focus();
      }
     }
       document.nomeForm.campo3.value=addendo1+addendo2;
    
    }
    //-->
    </script>
    
    2) all'interno dei tag relativi a campo1 e campo2 aggiungi:
    
    onBlur="javascript:somma();"
    Secan

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    Funziona alla perfezione!L'unica cosa è che mi concatena i valori anziche sommarli.
    Ho provato a scrivere:
    document.nomeForm.campo3.value=int(addendo1)+(adde ndo2);
    ma mi da errore.Cosa devo usare?
    GRAZIE!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    Scusa...prima non sono stata corretta.
    I miei valori non sono interi ma decimali a due 2 cifre decimali.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Oooops... avevo messo un paio di apici di troppo (valorizzando le variabili addendo1 e addendo2 a "0" anzichè a 0 le si trasforma in stringhe).
    Prova a modificare il codice che ti ho postato al punto 1 in questo modo:

    codice:
    function somma() {                            var addendo1=parseFloat(document.nomeForm.campo1.value);
     var addendo2=parseFloat(document.nomeForm.campo2.value);
    
     if (isNaN(addendo1)) {
      if (addendo1=="") {
       addendo1=0;
      } else {
       window.alert("il valore inserito non è un numero");
       document.nomeForm.campo1.focus();
      }
     }
    
     if (isNaN(addendo2)) {
      if (addendo2=="") {
       addendo2=0;
      } else {
       window.alert("il valore inserito non è un numero");
       document.nomeForm.campo2.focus();
      }
     }
    
     var somma=addendo1+addendo2;
     document.nomeForm.campo3.value=somma;
    }
    Fammi sapere
    Secan

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    Perfetto, nel frattempo avevo inserito Number davanti ai numeri e comunque funziona.
    Grazie!
    Approfitto...
    Mi potresti per cortesia dare qualche suggerimento su come utilizzare due bottoni SALVA e INVIA da inserire in fondo al form che chiamano due pagine asp diverse passando i dati contenuti nel form?

    Nella funzione chiamata all'onclick cosa devo scrivere per passare i dati alla pagina chiamata?
    Ciao,
    Sandra

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Sono spiacente, ma ho appena iniziato a bazzicare JavaScript ed ASP per me è ancora (spero per poco) un mistero insondabile!
    Secan

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    48
    Grazie comunque!

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    ciao,
    sto utilizzando il tuo script per fare
    la somma di alcuni campi, ma come posso fare a fare la somma quando il valore inserito è con la "'"?

    mi potresti aiutare?

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.