我有一个由PHP回应的复选框。因此,复选框的ID将是动态的。
所以,我想使用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 :(得分:2)
将document.getElementById
替换为document.getElementsByName[]
,或将HTML中的name
属性更改为id
。您未在HTML中使用id
属性,这就是getElementById
返回null
的原因:
if (document.getElementsByName(edit)[v].checked == true) { ... }
您也不需要== true
,因为if语句的布尔上下文会处理它:
if (document.getElementsByName(edit)[v].checked) { ... }
答案 1 :(得分:0)
答案是因为您选择了name
输入,然后尝试通过id
获取。将name='$count'
更改为id='$count'
。对于未来:几乎所有浏览器都提供带有调试器的Developer Tools,请随时使用它来调查JavaScript问题。