javascript - Javascript - 无法读取 null 的属性“值” - 组合框值
问题描述
想知道是否有人可以帮助以下代码。我有一个名为的组合框"cboAgreement"
,它是一个包含两个值"Agree"
和"Disagree"
.
我有一个表单,评论网格最初是隐藏的,但是当用户选择时"Disagree"
,评论网格应该出现。
当我检查网页时,它会返回此错误:
“未捕获的类型错误:无法读取 null 的属性‘值’”
我尝试将 if 语句更改为decision.getvalue()
相同的内容。
<script type="text/javascript">
var commentsGrid = document.getElementById("comms");
var decision = document.getElementById("cboAgreement").value;
commentsGrid.style.visibility = "hidden";
if (decision == "Disagree") {
commentsGrid.style.visibility = "visible";
}else{
commentsGrid.style.visibility = "hidden";
}
</script>
组合框如下:
<sq8:ComboBox runat="server" ID="cboAgreement"><Items>
<sq8:ComboBoxItem runat="server" Text="Agree" Selected="True"></sq8:ComboBoxItem>
<sq8:ComboBoxItem runat="server" Text="Disagree"></sq8:ComboBoxItem>
</Items>
</sq8:ComboBox>
<sq:BindableControl runat="server" TargetControlID="cboAgreement" DataField="cboAgreement"></sq:BindableControl>
我究竟做错了什么?我应该说,我是 JavaScript 新手,所以 99.9% 做错了!
提前感谢您的帮助。
解决方案
这意味着您正在尝试访问未定义对象的属性,换句话说,您试图在它仍然为空时获取它的值。这通常发生在我们在使用对象之前不测试对象时。我建议在获取元素值之前检查元素是否存在。
if (decision) {
decision = decision.value;
}
另请查看此快速教程: https ://idiallo.com/javascript/uncaught-typeerror-cannot-read-property-of-null
推荐阅读
- c# - PUN 网络错误 - 找不到合适的方法来覆盖
- hadoop - 停电后hadoop集群中的Namenode无法启动
- python - 从列表列表中传递键值
- c# - 有没有办法在带有 C# 的 WebAPI 中使用泛型来使用端点?
- javascript - 从 HTML 中的 Textarea 读取值并在弹出窗口中显示格式化文本
- r-markdown - 当我的 pandoc 版本为 2.3.1 时出现 RMarkdown Pandoc 错误
- python - 如何扩大QSpinBox按钮的宽度
- angular - Angular:将json数组显示为动态矩阵
- angular - 在 RXJS 中发出结果并链接新请求
- ruby-on-rails - 如何使用 Rails/Puma 为 404 Not found 页面设置 HTTP 标头