为什么我的javascript/html文档会绕过我检查字符串是否为空的尝试?

为什么我的javascript/html文档会绕过我检查字符串是否为空的尝试?,javascript,jquery,html,Javascript,Jquery,Html,Edit:|已解决|用户Jaromanda X的解决方案运行良好。谢谢 我的目标是让用户在文本框中输入一些文本并提交。我想检查文本框是否为空,如果为空,它应该提醒用户需要输入名称。如果它不是空的,我希望它显示他们输入的文本 问题是:每次我点击submit,它都会获取文本框的值——空或不空——并显示它,而不会提醒用户有空文本字段。我觉得我错过了一些非常基本的东西。谢谢你的帮助 HTML文件 <body> <div id="statusBar"> &l

Edit:|已解决|用户Jaromanda X的解决方案运行良好。谢谢

我的目标是让用户在文本框中输入一些文本并提交。我想检查文本框是否为空,如果为空,它应该提醒用户需要输入名称。如果它不是空的,我希望它显示他们输入的文本

问题是:每次我点击submit,它都会获取文本框的值——空或不空——并显示它,而不会提醒用户有空文本字段。我觉得我错过了一些非常基本的东西。谢谢你的帮助

HTML文件

<body>
    <div id="statusBar">
        <h1 id="playerName"></h1>
        <h2 id="playerHP"></h2>
    </div>

    <div id="gameWindow">
       Player Name: <input id="inputName" type="text" name="Player Name">
       <br>
       <input type="button" value="submit" onclick="getStats()";>
    </div>

    <script src="script.js"></script>
</body>
应该是:

if (document.getElementById("inputName").value === "") {
  // do something
}

将if语句更改为:

if (document.getElementById("inputName").value.length === 0) {

现在,您正在尝试获取
元素的
len
属性,该属性不存在。您应该首先获取输入的值,并检查其长度是否为零。因此,
.value.length
您没有使用正确的条件

替换

document.getElementById("inputName").len


document.getElementById(“inputName”).value.length==0
document.getElementById(“inputName”)
没有名为
.len
的属性,如果它存在,肯定不会是一个空格-您可能希望
document.getElementById(“inputName”).value.lenght==0
能够准确地修复它!我不熟悉HTML和CSS之外的编码,所以我对它不熟悉。谢谢你的帮助!所以@JaromandaX在一条评论中回答了这个问题,一群人跳了进来,把这个问题复制到他们的“答案”中,希望得到代表。为什么不呢,所有的酷孩子都在这么做。(哦,如果有人只输入了一堆空格,您可能需要在检查其
长度之前
trim()
值。)@StephenP听起来不错!我很高兴我做了这么愚蠢的事。也很高兴这个网站存在,我可能在评论中回答了这个问题,只是因为我在寻找这个问题的可行副本-类似的问题已经被问了很多次:p
document.getElementById("inputName").len