Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Calcolo in JavaScript

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45

    Calcolo in JavaScript

    Salve a tutti,
    con il seguente script vorrei che da due menu' a tendina fare un prezzo che è la somma dei due parametri.

    Ma strano a dirsi non riesco a sommarli, lacosa strana è che se invece di mettere un segno di addizione (+) metto la moltiplicazione (*) lo script funziona ... se non ci credete provate cmq a me serve sommare!!!!

    ------------------------------------------------
    <form name="pippo">
    <select name="campo1" id="campo1" onChange="document.pippo.campo3.value = document.pippo.campo1.value + (document.pippo.campo2.value)">
    <option value="0" selected>----</option>
    <option value="348">ciccio</option>
    <option value="4">ciao</option>
    <option value="8">crumiro</option>
    </select>


    <select name="campo2" id="campo2" onChange="document.pippo.campo3.value = document.pippo.campo1.value + document.pippo.campo2.value">
    <option value="0" selected>------</option>
    <option value="810">Analisi (6 in un anno)</option>
    </select>




    <input name="campo3" type="text" value="" size="20">
    </form>
    --------------------------------------------------------------

    grazie a tutti cmq,

    Cluter
    _^!^_

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    stai sommando due stringhe, non due numeri

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il segno + applicato alle stringhe significa concatenazione. Altri simboli matematici non hanno significato nelle stringhe, e quindi devi prima trasformare i dati in numero, e poi applicare l'operazione.

    Devi trasformare esplicitamente i dati in numeri:
    document.pippo.campo3.value = parseInt(document.pippo.campo1.value, 10) + parseInt(document.pippo.campo2.value, 10);

    Se i numeri sono reali (non interi):
    document.pippo.campo3.value = parseFloat(document.pippo.campo1.value) + parseFloat(document.pippo.campo2.value);
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45
    grazie moltissime ...

    ho provato lo script e adesso funziona ...

    cmq credo che verrò più spesso su questo forum ... ho ancora altre cose che nn mi sono chiare

    salve

    Cluter
    _^!^_

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.