为getElementById使用变量

时间:2012-12-30 17:38:24

标签: javascript

我有一个由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);
        }
    }

但是,当我点击复选框时,没有提醒。

我的代码有问题吗?

2 个答案:

答案 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问题。