0

此代码在 ASP.Net 中不起作用并给出错误

Microsoft JScript 运行时错误:“选择”为空或不是对象

我的代码是

var select = document.getElementsByTagName("Dd_Select_Month_Year")[0];
       select.onchange = function () {
           if (select.value == "2") {
               document.getElementsByTagName("txtDateFrom")[1].style.display = "inline";
               document.getElementsByTagName("txtDateTo")[1].style.display = "inline";
           } else {
               document.getElementsByTagName("txtDateFrom")[1].style.display = "none";
               document.getElementsByTagName("txtDateTO")[1].style.display = "none";
           }

       }
4

2 回答 2

2

标记名称是 HTML 元素的标记名称。对于一个<select>元素,标签名称是“select”。由于没有带有标签“Dd_Select_Month_Year”的元素,getElementsByTagName() 返回 null。

利用

document.getElementsByTagName("select")[0];

或者,如果 "Dd_Select_Month_Year" 是您select的 name 属性的值,即

<select name="Dd_Select_Month_Year">...</select>

利用:

document.getElementsByName("Dd_Select_Month_Year")[0];
于 2013-06-13T11:22:02.903 回答
1

select应避免使用变量名称。

参考:

  1. http://www.quackit.com/javascript/javascript_reserved_words.cfm
  2. http://www.javascripter.net/faq/reserved.htm

尝试使用其他单词作为变量名

var select2 = document.getElementsByTagName("Dd_Select_Month_Year")[0];
select2.onchange = function () {
    //Do whatever
}
于 2013-06-13T11:25:02.470 回答