简体   繁体   中英

Why does function "checkpassword" makes nothing on click?

I have a problem guys. As a beginner, I am trying to check the length of password and return the result, but it doesn't work. after clicking button, it does nothing. What am I doing wrong?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
function checkpassword(){
    var pas=document.getElementByName(passcode).value;
    var x=pas.length;
    if(x<8){
        document.getElementById(message).innerHTML="Error 404!";
   }
   else{
    document.getElementById(message).innerHTML="It's acceptable"
   }
}
</script>
<body>
   
    <input type="password" name="passcode" placeholder="Enter password to check">
    <input type="submit" value="submit" onclick="checkpassword()">

<p id="message"></p>
</body>
</html>

@'Felix Kling' and @'Daniel A. White have given some hints in the comments because you will have to pass the names and ids as strings. But another issue is that .getElementByName() is not a function. You can try this (note that I have used .getElementsByName (plural) and referenced the zero-ith index:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
function checkpassword(){
    var pas=document.getElementsByName('passcode')[0].value;
    var x=pas.length;
    if(x<8){
        document.getElementById("message").innerHTML="Error 404!";
   }
   else{
    document.getElementById("message").innerHTML="It's acceptable"
   }
}
</script>
<body>
   
    <input type="password" name="passcode" placeholder="Enter password to check">
    <input type="submit" value="submit" onclick="checkpassword()">

<p id="message"></p>
</body>
</html>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM