首页 > 解决方案 > 当我使用 .value 获取输入值时,它返回 Undefined

问题描述

每当我使用 .value 获取文本输入的值时,然后将其显示在显示未定义的网页上。

我查看了许多修复程序,但没有一个有效。

Java 脚本

function user() {
    let userNum = 1;
    let userSays = document.getElementsByClassName("text_box").value;
    let x = document.createElement("P");
    let y = document.getElementById("chat_box");
    x.setAttribute("class", "chatUser");
    x.setAttribute("id", 'u'+ userNum);
    x.innerHTML = "@User:" + userSays;
    y.appendChild(x);
    userNum += 1;
    updateScroll()
}

HTML

</div>

<input class = "text_box" type="text" placeholder="This does something">
<button id = inputPrint onclick= 'user()'>User</button>

当页面上的人在输入框中键入内容,然后点击用户按钮时,它应该会显示。用户:用户输入了什么

但是它当前显示。用户:未定义

标签: javascripthtmlcss

解决方案


getElementsByClassName()返回集合。您必须使用特定的索引。

改变

let userSays = document.getElementsByClassName("text_box").value;

let userSays = document.getElementsByClassName("text_box")[0].value;

推荐阅读