FOR循环中的getElementById不起作用

时间:2010-06-26 04:29:37

标签: php javascript dhtml

我不确定为什么这不起作用。

我有一个表单中的文本字段记录列表:

<input type="text" id="x1_Order">
<input type="text" id="x2_Order">
<input type="text" id="x3_Order">
<input type="text" id="x4_Order">
<input type="text" id="x5_Order">
...
<input type="text" id="x253_Order">
<input type="text" id="x254_Order">
<input type="text" id="x255_Order">

$ NumberOfTotalRecords = 255

并使用此PHP / Javascript:

<a href="#" onclick="for(i=0;i<=<?= $NumberOfTotalRecords ?>;i++){document.getElementById('x' . i . '_Order').value=i;}">Function</a>

当我点击功能链接触发javascript时,在Google Chrome Developer Javascript控制台中,我收到此错误:

Uncaught SyntaxError: Unexpected string

3 个答案:

答案 0 :(得分:2)

<a href="#" onclick="for(i=0;i<=<?= $NumberOfTotalRecords ?>;i++){document.getElementById('x' . i . '_Order').value=i;}">Function</a>

.运算符是php中的字符串连接。尝试使用+运算符在javascript中进行字符串连接。

document.getElementById('x' + i + '_Order')

答案 1 :(得分:2)

最佳方式如下

<script type="text/javascript">    
    function abc() {
      for(i=1;i<=<?= $NumberOfTotalRecords ?>;i++){
        document.getElementById('x'+i+'_Order').value=i;
      }
    }
</script>

   <a href="#" onclick="abc()">Function</a>

答案 2 :(得分:0)

javascript中的concat运算符是+,而不是。