无法设置未定义的边框 - JS

时间:2016-09-26 10:30:12

标签: javascript html

我试图通过javascript验证一些代码。我的戏剧是我收到了

  

"未捕获的TypeError:无法设置属性' border'未定义"。

我是javascript的新手,并试图全面了解这种情况发生的原因以及如何在未来的编码项目中防止这种情况发生。我的目标是如果验证失败,它会将文本框边框更改为红色。

function validation_Step1(event) {
    var Firstbox = document.getElementsByName("Firstbox");

    if (Firstbox.value == null || Firstbox.value == '') {
        document.getElementsByName("Firstbox")
            .style.border = "2px solid red";
        alert("Error");
        return false;
    } else {
        return true;
    }
}

2 个答案:

答案 0 :(得分:1)

这是因为document.getElementsByName("Firstbox")返回NodeList,可以将其视为“种类”数组。

如果你只想操纵第一个元素,你应该document.getElementsByName("Firstbox")[0]

答案 1 :(得分:-2)

要查找元素使用ID:

<input type="text" id="login">

然后获取元素:

var elem = document.getElementById('login');

在加载整个HTML时也运行JS脚本,在JS中使用onload事件。