Hello Anna,
ich habe eine Darstellung einer Tabelle in HTML und möchte nun per Javascript Berechnungen durchführen. Beispielsweise die Spalten summieren und eine weitere Spalte hinzufügen mit der Summe.
Das erscheint mir nur sinnvoll, wenn man in der Tabelle auch Werte eingeben könnte. Das geht ja wohl nur, wenn man ein Grid aus <input>-Elementen baut, oder? Dann könnte man z.B. über getElementById auf das Element zugreifen und die Neuberechnung durchführen.
Anderenfalls wären die Werte in den Zellen ja schon bei vor Absendung der Response auf dem Server bekannt und ein Serverscript wäre besser geeignet.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<title>Texcal</title>
<script type="text/javascript">
<!--
function calcLine()
{
document.getElementById("z13").value =
eval(document.getElementById("z11").value) +
eval(document.getElementById("z12").value);
document.getElementById("z23").value =
eval(document.getElementById("z21").value) +
eval(document.getElementById("z22").value);
document.getElementById("z33").value =
eval(document.getElementById("z31").value) +
eval(document.getElementById("z32").value);
}
//-->
</script>
</head>
<body>
<form action="#">
<input type="text" size="10" name="z11" id="z11" onChange="calcLine();">
<input type="text" size="10" name="z12" id="z12" onChange="calcLine();">
<input type="text" size="10" name="z13" id="z13"><br />
<input type="text" size="10" name="z21" id="z21" onChange="calcLine();">
<input type="text" size="10" name="z22" id="z22" onChange="calcLine();">
<input type="text" size="10" name="z23" id="z23"><br />
<input type="text" size="10" name="z31" id="z31" onChange="calcLine();">
<input type="text" size="10" name="z32" id="z32" onChange="calcLine();">
<input type="text" size="10" name="z33" id="z33"><br />
</form>
</body>
</html>
Probier es mal aus, dann wirst Du die Probleme schon erkennen. Sollte Dir dafür eine Lösung einfallen, wie man die NaN (Not assigned Number) weg bekommt, dann poste das mal bitte hier.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen