Javascript-无法读取null的属性“值”-组合框值

时间:2019-05-24 13:40:05

标签: javascript combobox sequence

想知道是否有人可以帮助以下代码。我有一个名为"cboAgreement"的组合框,它是一个带有两个值"Agree""Disagree"的下拉列表。

我有一个表单,其中注释网格最初是隐藏的,但是当用户选择"Disagree"时,注释网格应该会出现。

当我检查网页时,它会返回此错误:

  

“未捕获的TypeError:无法读取null的属性'value'”

我尝试将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%的人做错了事!

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这意味着您正在尝试访问未定义对象的属性, 换句话说,您正在尝试获取仍然为空的值  当我们在使用对象之前不测试对象时,通常会发生这种情况。 我建议在获取元素值之前检查该元素是否存在。

   if (decision) {
      decision = decision.value; 
   }

也请查看此快速教程:  https://idiallo.com/javascript/uncaught-typeerror-cannot-read-property-of-null