功能不验证输入

问题描述:

我不明白为什么我的代码不验证我的输入值。 对于所有情况,我都会“不工作”。功能不验证输入

这是我的代码:

<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")}; 
} 

有人能帮忙吗?

非常感谢!

+0

你能列出你的场景吗?如果输入不是“大卫”,它将失败......期望的行为是什么? – ZachB

+0

当我输入“大卫”它仍然写道“不工作” – user3185970

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

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

如果你让这个句子脱离函数,它会在加载页面时执行,并且在那一刻,输入没有值。

+0

当我把VAR放在函数内,我得到一个错误:意外的令牌var。你知道为什么吗? – user3185970

+0

是的,你有一个括号或大括号的错字。检查一切。 例如,在您的原始代码中,在else语句中,您在结束大括号中包含警报分号。 – nanocv

+0

如果您没有复制我的代码但使用过您的代码,那么您可能在函数的开头大括号(在“verify()”和“{if”)之间写入了该句子。这会导致错误。 – nanocv

您对querySelector的调用在字段为空时获取值,这意味着DOM准备就绪时,而不是在您更改输入字段后。当你调用你提供的函数时,你需要知道这个值。