Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Cacolare una percentuale

    Ciao a tutti,
    ecco il mio problema. Ho un form, in html, con due campi di testo. IN questi due campi vengono inseriti valori numerici, ossia dei prezzi.

    A questi prezzi dovrei aggiungere un 4%. Ho pensato ad una cosa del tipo:

    Codice PHP:
    <SCRIPT language="JavaScript">

    function 
    calcolatotale() {

    var 
    document.forms[0].prezzointeri.options[document.forms[0].prezzointeri.selectedIndex].text

    var 
    b= (4)/100;

    document.forms[0].totale.value=b;

    }
    </SCRIPT> 
    Il form è questo:

    Codice PHP:
    <td>[b]Interi:[/b]<input type="text" name="prezzointeri" maxlength="6" size="1" onmouseover="calcolatotale();"></td><TD><INPUT NAME="totaleinteri" TYPE="text" value="" readonly></TD>
    <
    td>[b]Ridotti:[/b]<input type="text" name="prezzoridotti" maxlength="6" size="1"></td
    il problema è che così non riesco a far funzionare l'evento. Cioè vorrei che quando viene scritto il prezzo nella casella, poi venga eseguito lo script e mi dia il risultato sul "name=totaleinteri".

    Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ho risolto in questo modo, anche se resta un serio problema

    Codice PHP:
    function calcolatotale() {

    var 
    = (document.info.prezzointeri.value);
    var 
    0.04;
    var 
    b;
    document.info.totaleinteri.value=c;

    }
    </SCRIPT>

    <body onload="calcolatotale()">
    <td>[b]Interi:[/b]<input type="text" name="prezzointeri" maxlength="6" size="1" onchange="calcolatotale();"></td><TD><INPUT NAME="totaleinteri" TYPE="text" value="" readonly></TD> 
    Ora funziona, ma la somma, ossia la variabile c dello script, si comporta in modo strano. Dovrebbe darmi una somma di a + b, invece mi unisce le 2 variabili. Cioè, se il prezzo è 23, il 4% è pari a 0.92, il totale diventa 230.92. Perchè???????????

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Perché le considera stringhe non numeri fai così dovrebbe bastare:
    var a = parseFloat((document.info.prezzointeri.value));
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ora funziona,
    ma nella casella del totale, ossia quella che stampa la variabile c, invece che lo zero (come accadeva prima), mi esce la scritta NaN. Come mai? Come farla tornare pari a zero?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho visto che fai partire la funzione al caricamento della pagina nel campo prezzointeri è presente un numero?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    No, il numero viene inserito da un utente. Al momento del caricamento non c'è nulla, è vuoto

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    All'ora togli questo pezzo onload="calcolatotale()" dal body
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.