javascript 用户名为null:无法读取null的属性(阅读'value')[已关闭]

20jt8wwn  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(109)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
当我通过querySelector或getElementById从输入字段 'username' 中获取值时,它显示为null。
错误是:无法读取null的属性(阅读“value”)
这是HTML文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./style_index.css">
    <title>Home</title>
</head>
<body>
    <!--Logo-->
    <div class="logo">
        <img src="./images/logo1.png" alt="" class="logoimg">
    </div>

    <div class="content">
        <div class="container1">
            <h1>Join Lobby</h1>

                <label>Username</label><br>
                <input type="text" id="username"/><br>
                <label>Lobby Password</label><br>
                <input type="password" id="pswd"/><br>
                <a href="./GamingArena.html"><button type="submit" onclick="join()" class="join">Join</button></a>
         
        </div>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.6.1/socket.io.js"></script>
    <script type="javascript" src="./index.js"></script>
    <script src="./script.js"></script>
</body>
</html>

这是script.js文件

const app = document.querySelector(".app");
    const socket = io();

    let uname;
    function join(){
        let username = app.querySelector(".content .container1 #username").value;
        if(username.length == 0){
            return;
        }

        socket.emit("newuser", username);
        uname = username;
        console.log(username);
    };

我希望将输入字段 'username' 的值存储在变量username中。

92dk7w1h

92dk7w1h1#

在脚本的第一行中,您创建了常量“app”,它查找带有“app”类的元素,该元素在HTML中不存在
只需将缺少的类添加到任何 Package 元素中。或者使用document而不是使用app常量。

mv1qrgav

mv1qrgav2#

你可以将script标签移到HTML主体的底部,就在结束标签之前。这将确保HTML在JavaScript运行之前已经完全加载。

相关问题