开发者问题收集

未捕获的类型错误:无法读取属性

2013-01-10
604

我收到此错误: 未捕获的类型错误:无法读取未定义的属性“d”

并且它位于 var d 部分。

function sign() {
    var d = document.first.d.value;
    var mon = document.first.mon.value;
    var y = document.first.y.value;
    var curd = new Date(y,mon-1,d);
    var res2 = curd.getMonth();
    var i = 0;
}

我不知道问题是什么。 有人能帮我吗? 如果您需要,我可以更详细地说明。 提前致谢。

1个回答

这是老式的 DOM 0 访问代码,其中元素由 name="" 引用,例如 name="first" ,但已弃用。请使用 document.getElementById 而不是 document.first.d

<input id="d" value="10" />
<input id="mon" value="02" />
<script>
(function() {
var first = document.getElementById('d');
alert(first.value);
})();
</script>

您的代码失败,因为它没有获得对 document.first 的引用,因为可能没有 name=first ,但可能有 id=first 。让这 3 条语句使用 gEBI 并设置 id s(如果需要),然后您应该设置完毕。

meder omuraliev
2013-01-10