【问题标题】:Function doesn't validate input函数不验证输入
【发布时间】:2015-12-02 19:17:34
【问题描述】:

我不知道为什么我的代码不验证我的输入值。 我在所有情况下都“不工作”。

这是我的代码:

<body>


<input type="text" placeholder="User Name" id="id_inputuser"/>
<label>Enter User Name</label><br>
<input type="text" placeholder="Password"id="id_inputpass"/>
<label>Enter Password</label><br><br>

<button onClick="verify()">Enter</button>
</body>

Javascript:

var user = document.querySelector('#id_inputuser').value;

function verify()

{if (user == "david")
{alert("working");}

else{alert("not working")};
}

有人可以帮忙吗?

非常感谢!

【问题讨论】:

  • 你能列出你的场景吗?如果输入不是“大卫”,它将失败......期望的行为是什么?
  • 当我输入“大卫”时,它仍然写着“不工作”

标签: javascript html function input


【解决方案1】:

你必须读取函数内部的输入值。

function verify(){
    var user = document.querySelector('#id_inputuser').value;
    if (user == "david"){
        alert("working");
    }
    else{
        alert("not working");
   }
}

如果你让那句话离开函数,它会在页面加载时执行,此时输入没有值。

【讨论】:

  • 当我将 var 放入函数中时,我得到一个错误:Unexpected token var。你知道为什么吗?
  • 是的,你有一些括号或大括号的错字。检查一切。例如,在您的原始代码中,在 else 语句中,您将 alert 分号放在右大括号之外。
  • 如果你没有复制我的代码而是使用了你的代码,也许你在函数的左大括号之前写了那句话(在“verify()”和“{if”之间)。这会导致错误。
  • 你是对的,这是一个括号错误。非常感谢!
【解决方案2】:

当字段为空时,您对 querySelector 的调用会获取值,这意味着当 DOM 准备好时,而不是在您更改输入字段之后。您需要在调用您提供的函数时捕获该值。

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 2023-01-13
    • 2022-10-22
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多