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

    somma di due numeri senza l'uso del form

    Ciao,
    sto usando questo codice javascript per la somma di due numeri dentro due campi, che sono già presenti all'interno di un form chiamato: <form name="formcheck"> che mi serve per la validazione del contenuto che l'utente immette nel form. Questo script, come potete vedere usa la funzione <form name="autoSumForm">, ma io ho già una funzione form (come ho già detto prima) con un suo nome (formcheck) che non posso cambiare.

    <script type="text/javascript">
    <!-- Begin
    function startCalc(){
    interval = setInterval("calc()",1);
    }
    function calc(){
    one = document.autoSumForm.firstBox.value;
    two = document.autoSumForm.secondBox.value;
    document.autoSumForm.thirdBox.value = (one * 1) + (two * 1);
    }
    function stopCalc(){
    clearInterval(interval);
    }
    // End -->
    </script>

    </head>
    <body>

    <h2>Somma automatica</h2>
    <form name="autoSumForm">
    <input type=text name="firstBox" value="" onFocus="startCalc();" onBlur="stopCalc();"> +
    <input type=text name="secondBox" value="" onFocus="startCalc();" onBlur="stopCalc();"> =
    <input type=text name="thirdBox">
    </form>


    Come posso far fare la somma dei due campi, senza usare la funzione <form name="autoSumForm">?

    Grazie
    Ciao

  2. #2

    Re: somma di due numeri senza l'uso del form

    Originariamente inviato da azocomposto
    Ciao,
    sto usando questo codice javascript per la somma di due numeri dentro due campi, che sono già presenti all'interno di un form chiamato: <form name="formcheck"> che mi serve per la validazione del contenuto che l'utente immette nel form. Questo script, come potete vedere usa la funzione <form name="autoSumForm">, ma io ho già una funzione form (come ho già detto prima) con un suo nome (formcheck) che non posso cambiare.

    <script type="text/javascript">
    <!-- Begin
    function startCalc(){
    interval = setInterval("calc()",1);
    }
    function calc(){
    one = document.autoSumForm.firstBox.value;
    two = document.autoSumForm.secondBox.value;
    document.autoSumForm.thirdBox.value = (one * 1) + (two * 1);
    }
    function stopCalc(){
    clearInterval(interval);
    }
    // End -->
    </script>

    </head>
    <body>

    <h2>Somma automatica</h2>
    <form name="autoSumForm">
    <input type=text name="firstBox" value="" onFocus="startCalc();" onBlur="stopCalc();"> +
    <input type=text name="secondBox" value="" onFocus="startCalc();" onBlur="stopCalc();"> =
    <input type=text name="thirdBox">
    </form>


    Come posso far fare la somma dei due campi, senza usare la funzione <form name="autoSumForm">?

    Grazie
    Ciao
    <form name="autoSumForm"> non è una funzione ma solo il nam della form, cosa c'entra?

    per fare la somma di due campi basta usa re un input button che su onclick lanci la funzione interessata
    così per esempio
    <input type="button" name="pippo" id="pippo" onClick="calc()">

    ciao

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    questa è una vecchia funzione; non so se sia utile.

    Non fa uso della "funzione form " ma gli elementi debbono avere un id

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    //------------------------------------------------------
    //restituisce la somma degli elementi passati come id
    //alert( calcola_somma("Text1", "Text2") );
    //alert( calcola_somma(["Text1", "Text2"]) );
    //------------------------------------------------------
    function calcola_somma()
    {
        var s = 0;
        for(var i = 0; i < arguments.length; i++)
        {
            var n = null;
            var v = arguments[i];
            if( typeof(v) == "string" )
            {
                n = document.getElementById(v).value.replace(",", ".");
                s += ((isNaN(parseFloat(n)))?0:parseFloat(n));    
            }
            else if(v instanceof Array)
            {
                for(var i = 0; i < v.length; i++)
                {
                    n = document.getElementById(v[i]).value.replace(",", ".");
                    s += ((isNaN(parseFloat(n)))?0:parseFloat(n));    
                }
            }
        }
        return s;
    }
    
    function calcola()
    {
        var somma = calcola_somma("Text1", "Text2");
        document.getElementById("div1").innerHTML = somma;
    }
    
    // ]]>
    </script>
    
    </head>
    <body>
        <input id="Text1" type="text" onblur="calcola();" />
        <input id="Text2" type="text" onblur="calcola();" />
        <hr />
        <div id="div1"></div>
    </body>
    </html>
    Pietro

  4. #4
    Grazie mille, si in effetti ho sbagliato la terminologia. Comunque grazie pietro, è quello che cercavo, ora cerco di adattarlo perchè il riusultato deve comparire dentro al campo del modulo.

    Grazie ancora

  5. #5
    ho provato ad modificare lo script per visualizzare il risultato della somma in un campo del form , ma restituisce un errore.

    Come posso fare?

    Grazie mille

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    sostituisci document.getElementById("div1").innerHTML = somma;
    con

    document.getElementById("id_campo_form").value = somma;

    ps. questo è quello che uso da tanto, ma prova pure con (controlla perchè non ricordo bene) document.nome_form.nome_compo.value = somma;
    Pietro

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.