无法在 JavaScript 中获取 HTML 复选框值

Can't get HTML checkbox value in JavaScript

本文关键字:HTML 复选框 获取 JavaScript      更新时间:2023-09-26

我正在尝试获取 ASP.NET 复选框值,该值可以是用户输入或从数据库中检索。但是每次它都显示此错误消息

0x800a138f - JavaScript 运行时错误:无法获取undefinednull引用的属性"value"

我的网页代码:

<input type="checkbox" id="myCheck" data-member="IsSubGroupNecessary" data-label="" data-provider="checkbox" onchange="IsSubGroupNeeded();"/>

JavaScript 代码:

function IsSubGroupNeeded() {
    var Subgrp = document.getElementById('<%=myCheck.ClientID%>').checked;
    if (Subgrp == true) {
        loadgrdSubgroupItem();
    }
};

更新:错误问题已解决。但是我想在复选框值为真时调用 loadgrdSubgroupItem 函数,无论它是用户输入还是从数据库中检索。怎么办?

您呈现的 HTML 的 id 为 myCheck,因此您应该能够:

function IsSubGroupNeeded() {
    var Subgrp = document.getElementById('myCheck').checked;
    if (Subgrp == true) {
        loadgrdSubgroupItem();
    }
};

无需服务器端调用。

(我假设你的 asp.net 标记上有 ClientIDMode="Static")

由于复选框不是 ASP 控件,因此可以执行以下操作

var subgrp = document.getElementById('myCheck').checked
您只需将

控件的名称传递给getElementById才能找到该元素,下面是一个示例:

<html>
<head>
<script>
function IsSubGroupNeeded() {
var Subgrp = document.getElementById('myCheck').checked;
   alert(Subgrp)
};
</script>
</head>
<body>
<input type="checkbox" id="myCheck" data-member="IsSubGroupNecessary" data-label="" data-provider="checkbox" onchange="IsSubGroupNeeded();"/>
</body>
</html>

它应该是

var Subgrp = <%=myCheck.Checked%>;

如果复选框为 HTML

function IsSubGroupNeeded() {
    var Subgrp = document.getElementById('myCheck').checked;
    if (Subgrp == true) {
        loadgrdSubgroupItem();
    }
};