复选框“错误”:无法获取属性“'checked';对象为空或未定义”

Checkbox "Error: Unable to get value of the property 'checked': object is null or undefined"

本文关键字:checked 对象 未定义 属性 错误 获取 复选框      更新时间:2023-09-26

我正在尝试解决是否选中复选框。这似乎相当直接。

<script type="text/Javascript">
function ValidateReqNum() {
        var zCheckBox = document.getElementById('chkAllJobs');
        if (zCheckBox.checked)
            alert("true");
        if (!zCheckBox.checked)
            alert("false");
        return true;
    }
</script>

和复选框:

 <asp:CheckBox ID="chkAllJobs" runat="server" Text="All Jobs" />

从:

<asp:Button ID="btnPrintReport" runat="server" Text="Run Report" 
  OnClientClick="return ValidateReqNum();" OnClick="CreatePDFJobReport" />

我试了几十种不同的方法,它总是返回

Error: Unable to get value of the property 'checked': object is null or undefined

同一aspx页面中的其他元素正在正常报告。我可以从我的c#代码调用chkAllJobs,我可以解决是否从c#检查。

如果您使用的是母版页,则客户机上子页的控件id将与其服务器id不同。因此,不要使用服务器控件名称,而是尝试使用其客户端id作为;

var zCheckBox = document.getElementById('<%= chkAllJobs.ClientID %>');
function ValidateReqNum() {
   alert(zCheckBox.checked);
}

下面是一个复选框如何工作的示例。如果您有以下复选框:

 <input id="Checkbox" type="checkbox" name="mycheckbox" value="5"/>

然后可以使用forms collection

获取值
label_Result.text = Request.Form["mycheckbox"]; 

因此,只有当该复选框被选中时,才会得到值5。