27. juli 2010 - 02:02
Der er
7 kommentarer og 1 løsning
Tælle løbende sammen
Hej Jeg har en række input bokse (text) hvor det er muligt at skrive tal. Jeg ønsker i en ny text box at tælle indholdet sammen af disse bokse. Hvordan gøres det nemmest? Sigurd
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
var zsum = 0; var numFields = document.getElementsByTagName('input'); for(ix=0;ix<numFields.length;ix++){ zsum = zsum + rows[ix].getAttribute('value'); } summer alle input felter uanset indhold ....
var zsum = 0; var numFields = document.getElementsByTagName('input'); for(ix=0;ix<numFields.length;ix++){ zsum = zsum + numFields[ix].getAttribute('value'); } Ups ...
og hvad gør jeg så herfra? :)
<html><head> <title></title> <style> </style> <script> function sumAll() { var zsum = 0; var numFields = document.getElementsByTagName('input'); for(ix=0;ix<numFields.length;ix++){ zsum = zsum + parseInt(numFields[ix].getAttribute('value'), 10); } document.getElementById("D").value = zsum; } </script> </head> <body> <form name="slam"> <input type="text" name="A" onblur="sumAll();" value="2"> <input type="text" name="B" onblur="sumAll();" value="2"> <input type="text" name="C" onblur="sumAll();" value="2"> <input name="D" id="D" value="2"> </form> </body> </html>
denne linie: zsum = zsum + parseInt(numFields[ix].getAttribute('value'), 10); skal erstattes af denne: if (numFields[ix].id != "D") zsum = zsum + parseInt(numFields[ix].getAttribute('value'), 10);
Jeg kan godt se at den tager de gamle værdier !? kigger på det ...
<html><head> <title></title> <style> </style> <script> function sumAll() { var zsum = 0; var numFields = document.getElementsByTagName('input'); for(ix=0;ix<numFields.length;ix++){ if (numFields[ix].id != "D") zsum = zsum + parseInt(numFields[ix].value , 10); } document.getElementById("D").value = zsum; } </script> </head> <body> <form name="slam"> <input type="text" name="A" onblur="sumAll();" value="2"> <input type="text" name="B" onblur="sumAll();" value="2"> <input type="text" name="C" onblur="sumAll();" value="2"> <input name="D" id="D" value="2"> </form> </body> </html> Prøv med value istedet for getAttribute('value') ...
Kurser inden for grundlæggende programmering