我试图获取ASP.NET复选框值,该值可以是用户输入或从数据库中检索。但每次它显示此错误消息
0x800a138f - JavaScript运行时错误:无法获取属性'
value
'undefined
或null
参考
我的HTML代码:
<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();
}
};
更新 错误问题已解决。 但是我想在checkbox值为true时调用loadgrdSubgroupItem函数,无论是用户输入还是从数据库检索。怎么做?
答案 0 :(得分:1)
您呈现的HTML的ID为myCheck
,因此您应该能够:
function IsSubGroupNeeded() {
var Subgrp = document.getElementById('myCheck').checked;
if (Subgrp == true) {
loadgrdSubgroupItem();
}
};
无需服务器端呼叫。
(我假设您的asp.net标记上有ClientIDMode="Static")
答案 1 :(得分:1)
由于复选框不是ASP控件,您可以按
进行操作var subgrp = document.getElementById('myCheck').checked
答案 2 :(得分:1)
您需要将控件的名称仅传递给getElementById
才能找到此处的元素example:
<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>
答案 3 :(得分:0)
应该是
var Subgrp = <%=myCheck.Checked%>;
如果复选框是HTML
function IsSubGroupNeeded() {
var Subgrp = document.getElementById('myCheck').checked;
if (Subgrp == true) {
loadgrdSubgroupItem();
}
};