1

我有这样的表格:

<form name="calc" action="" id="calc">
<?php for($i=0; $i<15; $i++) { ?>
<input type="text" name="txt1[$i]" onkeyup="calcNumber()"/>
<input type="text" name="txt2[$i]" onkeyup="calcNumber()"/>
<input type="text" name="txt3[$i]" onkeyup="calcNumber()"/>
<span id="tot[$i]"></span>
<?php } ?>
</form>

这是javascript代码:

<script type="text/javascript">
function calcNumber() {

for(var j=0; j<15; j++) {

var totNumber[j] = document.calc.txt1[j].value + document.calc.txt2[j].value + document.calc.txt3[j].value;

document.getElementById('tot[j]').innerHTML = totNumber[j];
}

}
</script>

没有错误..但也没有结果。请让我知道我做错了什么。谢谢。

4

2 回答 2

0

将您的 html 修复为以下内容。

<input type="text" name="txt1[<?php echo $i;?>]" onkeyup="calcNumber()"/>
<input type="text" name="txt2[<?php echo $i;?>]" onkeyup="calcNumber()"/>
<input type="text" name="txt3[<?php echo $i;?>]" onkeyup="calcNumber()"/>
<span id="tot[<?php echo $i;?>]"></span>

以及您的 javascript 的当前行:

document.getElementById('tot[' + j + ']').innerHTML = totNumber;

totNumber不是array,在这种情况下也不需要。

问题

您呈现的 html 正是您在问题中提供的 html,$i不会被数字替换,因为它不在<?php ?>标签内。

于 2012-12-28T03:18:19.653 回答
0

我已经解决了问题,只需在totin之后插入数组function calcNumber(),而不是在tot.

非常感谢你们的帮助。

于 2013-01-05T05:59:40.203 回答