2012-12-30 49 views
1

我有一个复选框被PHP回显。所以,复选框的ID将是动态的。使用变量getElementById

所以,我想使用一个变量为document.getElementById()

下面是我的PHP代码:

echo "<td><input type='checkbox' name='edit$count' value='1' onclick='test($count)'></td>"; 

然后这里是我的Javascript代码

function test(v) 
    { 
     var edit = "edit" + v; 


     if(document.getElementById(edit).checked==true){ 
      alert(edit); 
     } 
    } 

然而,当我点击复选框,没有任何警报。

我的代码有问题吗?

+0

'$ count'是什么? – 0x499602D2

+0

$ count是每个循环都会增加+1的变量。 –

+0

什么是循环开始处的$ count? – 0x499602D2

回答

1

document.getElementById替换为document.getElementsByName[]或将您的HTML中的name属性更改为id s。你不使用你的HTML id属性这就是为什么getElementById将返回null

if (document.getElementsByName(edit)[v].checked == true) { ... } 

你也不需要== true的if语句会照顾它的布尔环境:

if (document.getElementsByName(edit)[v].checked) { ... } 
+0

明白了!谢谢! –

0

答案是因为你将name输入了输入,然后试图通过id得到它。将name='$count'更改为id='$count'。对于未来:几乎所有的浏览器都提供了带有调试器的开发工具,请随时用它来调查JavaScript问题。

相关问题