Learning HTML,CSS & JavaScript.
I am wondering why is the following code not working even when I enter the correct data.

Here's the code:
    <!DOCTYPE html>
<html lang="en">
<head>
    <title>Test</title>
</head>
<body>
    Username:
    <br>
    <input type="text" name="" id="username"> 
    <br>
    Password:
    <br>
    <input type="text" id="password">
    <br>
    <button onclick="validate();">Submit</button>
    <script>
        // verification
        function validate(){
            var a=document.getElementById(username);
            var b=document.getElementById(password);
            // even if i enter the correct credentials only the if part runs.
            if(a!="admin" || b!=1234){
                alert("Incorrect username or password.\nRetry Please!");
                // opening the same page
                window.open("jsvalidate.html","_self");
            }
            else{
                alert("Welcome" + a);
                // opening some other page.
                window.open("new.html","_self");
            }
        }
    </script>
</body>
</html>
And No I am not creating a validation page I know it should be done with ajax or php, I'm just wondering why it's not working. Please provide me an explanation so that I remember this for my life. Thanks!
