Avatar billede sigurd_h Praktikant
27. juli 2010 - 02:11 Der er 7 kommentarer og
1 løsning

Tælle løbende sammen

Hej

Jeg har en række input text bokse som jeg ønsker at få talt sammen i en anden test boks efterhånden som de bliver udfyldt.

Håber at i kan hjælpe?

Sigurd
Avatar billede Slettet bruger
27. juli 2010 - 07:47 #1
Du kan benytte eventet onchange i de bokse hvor du skriver.
- kalde en funktion som samler indholdet i alle boksene, og putter det i samleboksen, ikk'

NB:
onchange fyrer først når man forlader et felt (og har ændret det)
- ikke løbende, imens du taster.

Hvis det er dét du vil, er du nødt til at kalde samle-funktion "i baggrunden" (vha. setinterval)
Avatar billede majbom Novice
27. juli 2010 - 08:13 #2
hvad med:


<script type="text/javascript">
    function updateSum(){
        var fields = document.getElementsByTagName('input');
        var sum = 0;
        for(var i=0;i<=fields.length;i++){
            if(fields[i].id.substring(0,5)=='field'){
                sum = parseInt(fields[i]) + parseInt(sum);
            }
        }
        document.getElementById('sum').value = sum;
    }
</script>

og
<input type="text" name="field1" id="field1" onkeyup="updateSum()"><br>
<input type="text" name="field2" id="field2" onkeyup="updateSum()"><br>
<input type="text" name="field3" id="field3" onkeyup="updateSum()"><br>
<input type="text" id="sum" name="sum">


ikke testet...
Avatar billede sigurd_h Praktikant
27. juli 2010 - 11:38 #3
Hej splazz
Det fungerer ikke, har du mulighed for at kigge på det igen ? :)
Sigurd
Avatar billede majbom Novice
27. juli 2010 - 19:53 #4
hmm, studerer det lige :)
Avatar billede majbom Novice
27. juli 2010 - 20:13 #5
så blev den lige testet og opdateret :)

function updateSum(){
  var fields = document.getElementsByTagName('input');
  var sum = 0;
               
  for(var i=0;i<fields.length;i++){
      if(fields[i].id.substring(0,5)=='field' && parseInt(fields[i].value)>0){
        sum = parseInt(fields[i].value) + parseInt(sum);
      }
  }
  document.getElementById('sum').value = sum;
}
Avatar billede sigurd_h Praktikant
28. juli 2010 - 13:13 #6
TAK! Svar? :)
Avatar billede majbom Novice
28. juli 2010 - 15:41 #7
you bet ;)
Avatar billede majbom Novice
28. juli 2010 - 18:52 #8
tfp! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester