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

totの後に配列を挿入するだけでfunction calcNumber()、 の中に配列を挿入することはできませんtot

助けてくれてどうもありがとう。

于 2013-01-05T05:59:40.203 に答える
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 に答える