if else循环问题

时间:2017-08-31 15:13:43

标签: javascript html html5 forms

我一直在处理登录表单,我一直在努力解决这个问题。从本质上讲,if()语句并不是我所期望的。即使core.user / core.pass与设定值完全匹配,也无法达到成功案例。

   function validateLoginForm()
    {
        //var x = document.forms["myForm"]["username"].value;
        //var y = document.forms["myForm"]["password"].value;
        "use strict";
        var username = document.forms["myForm"]["username"].value;
        var password = document.forms["myForm"]["password"].value;

        console.log("username:" + username);
        console.log("password:" + password);

        var coreUser = "testUser";
        var corePass = "testPass";

        if (username.value === coreUser) {
            console.log("username matches");
            if(password.value === corePass) {
                console.log("You are logged in as " + username.value);


            }
            else {
                alert("Password invalid");
            }
        }


        else {

            alert("Username invalid");
        }

    }




    <div class="loginPage">
                  <div name="myForm" class="form">
                      <div id ="login">
                        <form class="login-form" name="myForm">
                          <h2>Login Page</h2>
                          <input name="username" id="username" type="text" placeholder="enter username"/>
                          <input name="password" id="password" type="password" placeholder="enter password"/>
                          <button type="button" onclick="validateLoginForm()">login</button>
                          <p class="message">Don't have an account? <a href="#register" id="register_profile">Register</a></p>
                        </form>
                      </div>
                  </div>
                </div>

2 个答案:

答案 0 :(得分:1)

param1=value1password已包含该值。因此,您尝试在返回username的字符串上调用.value。当您使用undefined.value这样的变量时,只需删除password

username

此外,使用debugger可以轻松找到此类错误。你应该花时间学习如何使用它,因为它将为你节省大量的时间。 (每个现代浏览器在开发工具中都有一个JS调试器)

答案 1 :(得分:-1)

您只需从username.value&amp;中移除.value即可。 password.value 用户喜欢在下面 用户名=== coreUser
密码=== corePass

在javascript验证中,如果值无效,我们应该有return语句。 例如:

if(username !== coreUser || username ==='') {
    alert("Username invalid");
    return false;
} else if(password !== corePass || password === '') {
    alert("Password invalid");
    return false;
} else {
    console.log("username matches");
    console.log("You are logged in as " + username);
}