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

    addizionare 2 varibili prese da form

    Salve ragazzi ho un problema con l'aggiornamento del prezzo totale, allora
    la funzione calcola totale è qstin qst modo '+=' ottengo il concatenamento nn la somma)
    help me!!!! help me!!!! help me!!!

    function calcolatotale(){
    var x= document.form3.length;
    for(count=0; count<x; count+=1){
    if(document.form3.elements[count].checked)
    document.formtot.totale.value += document.form3.elements[count].value;
    }
    }


    il form3 è qst:

    <form method=POST name=form3>
    <tr><td width=35%><table rules=none frame=void>
    <tr><th align="center" colspan=3>SPEDIZIONE</th><tr>
    <tr><td align="left">Posta celere 3</td><td align="left"><input type="radio" name=radio1 onClick='calcolatotale()' value=6,00>6,00</input></td></tr>
    <tr><td align="left">Posta celere 1</td><td align="left"><input type="radio" name=radio2 value=9,00 onClick='calcolatotale()'>9,00</input></td></tr>
    <tr><td align="left">Assicurata</td><td align="left"><input type="radio" name=radio3 value=5,00 name=radio1 onClick='calcolatotale()'>5,00</input></td></tr>
    </table>


    mentre il formtot e qst:


    <form method=POST name=formtot>
    <tr><th colspan=3 align=right>IVA 4%</th><td align=center><input type=text name="iva" size=5 readonly value=0></td></tr>
    <tr><th colspan=3 align=right>TOTALE</th><td align=center><input type=text name="totale" size=5 readonly value=10></td></tr>

    </table>
    </td>
    </tr>
    </form>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ricorda sempre che nel form tutti i campi restituiscono sempre e solo stringhe... ed il + e' anche operatore di concatenamento.

    Per poter utilizzare i dati introdotti in calcoli numerici devi preventivamente operare un controllo sulla natura degli stessi e quindi la loro trasformazione in tipo numerico... per esempio:
    codice:
    function str2num(c) {
      if (isNaN(c)) {
        alert("non e' numerico!")
        return 0;
      }else{
        return parseFloat(c);
      }
    }
    
    // usato per esempio cosi':
    
    primo = str2num(document.mioForm.mioCampo.value);
    Le variazione al codice possono essere tantissime... vedi se riesci ad adattarlo al tuo problema.

    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

  3. #3
    grazie per la tempestiva risposta,
    ho risolto assegnando delle variabili di tipi parseFloat

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    variabili di tipi parseFloat
    Significato oscuro... ma lieto che abbia risolto

    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

  5. #5
    function calcolatotale(){
    var x= document.form3.length;
    var tot = document.formtot.totale.value;
    var tot = 0;
    for(count=0; count<x; count+=1){
    if(document.form3.elements[count].checked){
    var h = document.form3.elements[count].value;
    tot = parseFloat(tot);
    h = parseFloat(h);
    tot = tot + h;
    document.formtot.totale.value = tot;
    }
    }
    }

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    i problemi nasceranno quando qualcuno digitera' qualche lettera nei campi...

    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

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.