无法获取属性'checked'的值:object为null或undefined错误

时间:2017-09-12 18:32:36

标签: javascript asp.net

我们有一个带有以下java脚本代码的应用程序,它给出了错误

  

无法获取属性值复选框

,我们需要以<%=Checkbox1.ClientID%>格式更改以下代码。请帮助以该格式更改以下代码,

我有多行代码,如下所示,因为我需要使用预定义变量“crtlName”

var ctrlName="CheckBox"

if(document.getElementById(ctrlName + "1").checked)
{
  document.getElementById(ctrlName + "Table1").style.display ='inline';
}

1 个答案:

答案 0 :(得分:0)

我不打算为您修改代码,而是一些示例可以帮助您解决问题。

如果我没有弄错。您的主要问题是如何在javascript中使用<%=Checkbox1.ClientID%>之类的内联表达式。你可以做点如下的事情

var checkBox1 = document.getElementById('<%= CheckBox1.ClientID %>');

其次,您提到您的控件是动态生成的,这意味着您可能需要在javascript区域中实现类似variable.ClientID的内容。

var checkBox2 = document.getElementById(
    '<%= ((CheckBox)this.Page.FindControl(_checkBoxId)).ClientID %>');

然后在代码隐藏

中设置_checkBoxId
public string _checkBoxId;

protected void Page_Load(object sender, EventArgs e)
{
    _checkBoxId = "CheckBox2";
}

最后,与上面的解决方案相比,我更喜欢使用属性选择器

document.querySelectorAll("input[id*=CheckBox]:checked");
相关问题