函数的getElementById不工作

问题描述:

function signup() { 
    var username = document.getElementById("user").value 
    var password = document.getElementById("pass").value 
    if (username != false && password != false) { 
     alert("Whats up " + username); 
    } 
    } 

我做了一个按钮,通过设置上申请()一个onclick和我做了两个文本框与ID为“用户名”和“密码”。由于某些原因,此代码不起作用。任何帮助?此外,我试图让它只是提醒用户名,但它仍然无法正常工作。函数的getElementById不工作

编辑:这里是

<form> 
<input type="text" class="cool" id="user" placeholder="Username"><br /> 
<input type="password" class="cool" id="pass" placeholder="Password"><br /> 
<input type="button" class ="button" value="Sign up" name="signup" onclick="signup()"> 
</form> 
+1

你说的文本框的ID是'username'和'password'那么它应该是'的document.getElementById( “用户名”)'和'的document.getElementById(”密码“) –

+0

不是语法错误,但你为什么要将字符串值与布尔值'false'比较?你也拼写错了。 – nnnnnn

+0

确保你有一个'input'标签,id是** user **,而'input'标签的id是** pass **? –

你只需要改变按钮的name属性值,以避免相同的函数名。

代码的html看起来就像这样:

<form> 
    <input type="text" class="cool" id="user" placeholder="Username"><br /> 
    <input type="password" class="cool" id="pass" placeholder="Password"><br /> 
    <input type="button" class ="button" value="Sign up" name="signup-changed" onclick="signup()"> 
</form> 
+0

我试过了,仍然无法正常工作。 – bingothesnake

+0

嗨,我发现你的问题的原因。我已经更新了答案,请查看并告诉我您的问题已得到解决? –

+0

谢谢你,这工作!我甚至不知道你不可能有与功能相同的名字。 – bingothesnake

您的文件档案输入ID被usernamepassword那么它应该是document.getElementById("username")document.getElementById("password")

function signup() { 
    var username = document.getElementById("username").value 
    var password = document.getElementById("password").value 
    if (username != false && password != false) { 
     alert("Whats up " + username); 
    } 
    } 
+0

不,他们被称为用户并且通过。 – bingothesnake

你为什么等同于虚假的投入?

元素的值是整数,而不是布尔值。编写一个==或!=的比较器,你必须使用字符串类型。

username == 'string' 

尝试

if(username.length > 0 && password.length > 0) 
    { 
     alert('hi ' + username); 
    } 
+0

这是* a *的问题,但是我认为考虑到''test'!= false'是'true',所以我怀疑它是*问题。 – nnnnnn

+0

我想这意味着你的定义比他所拥有的问题。他说它不起作用,通过这个即时通讯假设他正在尝试验证某种密码的相关性。所以似乎知道这些类型可能是有益的。 @nnnnnn –

+0

我的观点是,即使使用'!= false',如果'用户名'和'密码'字符串都不是空字符串(而不是只有空格或零的字符串),将显示alert *。 – nnnnnn