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

    input text dinamici e somma automatica


    Devo fare una cosa un pochino articolata, almeno per me...

    ho una serie di input text dinamici che genero con un ciclo PHP
    i campi in questione hanno dei nomi tipo:
    ------------------------------------------------------
    input type="text" name="t*0*1"
    input type="text" name="t*0*2"
    input type="text" name="t*0*3"
    input type="text" name="t*1*1"
    input type="text" name="t*1*2"
    input type="text" name="t*1*3"
    etc....
    accettano solo numeri, per cui ho una griglia fatta da X di questi campi.
    ------------------------------------------------------
    Poi...ho un numero (es 10) anche questo dinamico ovvero ad ogni caricamento pagina questo numero può variare.
    ------------------------------------------------------
    Cosa devo fare:

    nei campi input txt vengono inseriti dei numeri e ad ogni inserimento io dovrei moltiplicare il "tempo reale" il "numero"
    ------------------------------------------------------
    Es:
    input type="text" name="t*0*1" --> inserisco 5
    input type="text" name="t*0*2"
    input type="text" name="t*0*3" --> inserisco 2
    input type="text" name="t*1*1"
    input type="text" name="t*1*2" --> inserisco 1
    input type="text" name="t*1*3"

    Numero = a 10*8 = 80 --> per cui devo scrivere subito 80.
    ------------------------------------------------------
    Spero di essere stato chiaro nel spiegare quel che devo fare

  2. #2
    Ho trovato questo da un post del forum che vale molto di + delle mie parole:
    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>
    ed è proprio quel che mi servirebbe se non che i miei ID possono essere Text1 Text2 Text3...etc.. c'è modo di variare questo script per adattarlo ad un numero X di ID senza doverli dichiarare in "var somma = calcola_somma("Text1", "Text2");"
    ?

  3. #3
    Riesumo questo post perchè ho fatto qualcosa che si avvicina molto a quel che mi serve...
    ovvero
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <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.myresult.value = ((one * 1) + (two * 1)) * 69.00;
    	
    }
    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="myresult">
    </form>
    </body>
    </html>
    Ora però dovrei modificare il tutto per...
    avere X campi text e calcolare di conseguenza il risultato sfruttando magari l'ID .

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 © 2026 vBulletin Solutions, Inc. All rights reserved.