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
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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