0

My HTML:

<html>
   <head>
       <title>Js</title>
       <link href="js1.css" rel="stylesheet" type="text/css" />
   </head>
   <body>
       <div id="box">
          <form action="action.php">
             <label>Enter Name
                  <input id="Username" type="text" name="Enter Username" />
             </label>
             <div id="feedback"></div>
             <label id="pass">Password
                  <input id="pass" type="password" name="Enter Passkey" />
              </label>
                 <input type="submit" value="sign up" />
          </form>
       </div>
       <script src="js1.js"></script>
       </body>
</html>

My JavaScript:

function checkUsername() { // Declare function
   var elMsg = document.getElementById('feedback'); // Get feedback element
   if (this.value.length < 5) { // If username too short
   elMsg.textContent = 'Username must be 5 characters or more'; // Set msg
    } else { // Otherwise
    elMsg.textContent = ''; // Clear message
   }
 }

  var elUsername = document.getElementById('Username'); // Get-name input
  elUsername.onBlur = checkUsername; //  loses focus call checkuserName()

My CSS:

body{
   background-color:black;
  }
#box{
background-color:silver;

height:600px;
width:600px;
margin-left:300px;
}

p{
color:white;
font-size:18;
}
form{
padding:20px;
width:96px;
}
input[type="text"] , input[type="password"]
{
background-color:#999;
border:2px solid white;

}
input[type="text"]:focus , input[type="password"]:focus
{
background-color:#fff
}

What the program is supposed to do :

Once the user is done entering the UserName, the function must check if it has atleast 5 characters else display a msg in place of "feedback"?

What am I missing?

Bonny Mahajan
  • 81
  • 1
  • 10

1 Answers1

0

You have a typo in this line var elUsername = document.getElementById('username')

The id of the input is uppercase Username

try:

var elUsername = document.getElementById('Username')

And another more important typo onBlur event in elUsername.onBlur = checkUsername should be onblur all lowercase.

Here is a working Example

Antonio Smoljan
  • 2,187
  • 1
  • 12
  • 11