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

    Funziona somma ( credits fcaldera )

    Hola a todos.

    Con la ricerca ho trovato questa funzione di somma (credits fcaldera), ma non riesco a farle funzionare correttamente:

    codice:
    function calcola(frmObj, id)
    {
    
      for (i=0; i<inp.length; i++) {
         if (inp[i].name.match(/^CompetenzeExtra/i) {
             tot += parseFloat(inp[i].value);
         }
      }
      alert(tot);
    
    }
    Il mio problema che ho un form generato dinamicamente nel quale non conosco a priori quanti campi chiamati CompetenzeExtra potrò avere.

    Ad ogni campo CompetenzeExtra ho associato l'id estratto dal database ed il form è questo:

    codice:
    <input type="text" name="CompetenzeExtra-7" size="10" value="243.21" readonly style="background-color: #C0C0C0" onkeyup="calcola(this.form, 7)">
    
    <input type="text" name="TotaleCompetenzeExtra-7" size="10" value="771.76" readonly style="background-color: #C0C0C0">
    
    <input type="text" name="CompetenzeExtra-8" size="10" value="23.21" readonly style="background-color: #C0C0C0" onkeyup="calcola(this.form, 7)">
    
    <input type="text" name="TotaleCompetenzeExtra-8" size="10" value="0.00" readonly style="background-color: #C0C0C0">
    Vorrei che la funzione calcola aggiornasse il valore di TotaleCompetenzeExtra-7 facendo la somma di CompetenzeExtra-7 e di CompetenzeExtra-8, cioè:

    TotaleCompetenzeExtra-7 = 266.42

    E' possibile?
    Grazie

  2. #2
    Non funziona...

    codice:
    function calcola(frmObj, id)
    {
    
      inp = document.getElementsByTagName('input'); 
      tot = 0;
    
    
      for (i=0; i<inp.length; i++) {
         if (inp[i].name.match(/^CompetenzeExtra/i) {
             tot += parseFloat(inp[i].value);
         }
      }
      alert(tot);
    
    }

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.