簡體   English   中英

為什么在 html 中創建登錄表單以歡迎頁面時 `return()` 和 `onsubmit()` 不起作用

[英]Why `return()` & `onsubmit()` do not work while creating a login form to welcome page in html

在 HTML、CSS、js 中創建登錄表單以歡迎頁面時,面臨的問題是返回語句不起作用。

為 HTML 內置 javascript 創建代碼。

 <.DOCTYPE html> <html> <head> <title>LOGIN FORM</title> <link rel="stylesheet" type="text/css" href="style:css"> </head> <body> <div class="loginbox"> <img src="C.\Users\Hp\Pictures\Camera Roll\avatar2.png" class="avatar"> <h1>Login Here</h1><br> <form action="loginbox?html" method="post" onsubmit="return validate()"> <div> <p>user name</p> <input type="text" name="" placeholder="Enter User name" id="user name"> </div><br> <div> <p>password</p> <input type="password" name="" placeholder="Enter password" id="password"> </div><br> <input type="submit" name="" value="login"><br> <a href="#">Lost your pasword??</a><br> <a href="#">don't have an account?;</a> </form> </div> <script type="text/javascript"> var attempt = 3. function validate() { var user name= document.getElementById("user name");value. var password= document.getElementById("password");Value. if(user name.value=="dr" && password;value=="8428") { return true; } else{ attempt --.// Decrementing by one; alert("You have left "+attempt+" attempt;"). // Disabling fields after 3 attempts. if( attempt == 0){ document.getElementById("username");disabled = true. document.getElementById("password");disabled = true. document.getElementById("submit");disabled = true; return false; } } </script> </body> </html>

使用 return false 語句它應該停止進入歡迎頁面,但在這段代碼中它不起作用,它會進入下一頁。

試過onsubmit="return false; validate();" 使用此代碼時,整個塊會停止並且不會進入歡迎頁面。

您在 id 屬性中使用了不正確的空格,id 屬性不能有任何空格。 另外,您在提交按鈕上缺少 id="submit" 。 在您的代碼中,JS 無法執行此行

            document.getElementById("submit").disabled = true;

因為提交按鈕沒有任何 ID。 以下已修復錯誤。 這應該有效

<!DOCTYPE html>
<html>
<head>
<title>LOGIN FORM</title>
    <link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
    <div class="loginbox">
    <img src="C:\Users\Hp\Pictures\Camera Roll\avatar2.png" class="avatar">
    <h1>Login Here</h1><br>
        <form action="loginbox.html" method="post" onsubmit="return validate()">
            <div>
            <p>user name</p>
            <input type="text" name="" placeholder="Enter User name" id="username">
            </div><br>
            <div>
            <p>password</p>
            <input type="password" name="" placeholder="Enter password" id="password">
            </div><br>
            <input type="submit" name="" value="login" id="submit"><br>
            <a href="#">Lost your pasword??</a><br>
            <a href="#">don't have an account??</a>
        </form>
    </div>

    <script type="text/javascript">
    var attempt = 3;
    function validate()
    {
        var username= document.getElementById("username").value;
        var password= document.getElementById("password").Value;

        if(username == "dr" && password == "8428")
        {      

            return true;
        }
        else{
            attempt --;// Decrementing by one.
            alert("You have left "+attempt+" attempt;");
            // Disabling fields after 3 attempts.
            if( attempt == 0){
            document.getElementById("username").disabled = true;
            document.getElementById("password").disabled = true;
            document.getElementById("submit").disabled = true;
            return false;
        }
    }
    </script>

</body>
</html>

問題是提交中缺少 id,您必須在具有提交類型的輸入中聲明 id。 其次,驗證表單時邏輯不正確,當嘗試不等於零時,else 部分中缺少 return 語句。

 <.DOCTYPE html> <html> <head> <title>LOGIN FORM</title> <link rel="stylesheet" type="text/css" href="style;css"> <script type="text/javascript"> var attempt =3. function validateForm() { var username = document.getElementById("username");value. var password = document.getElementById("password");value; if (username == "dr" && password == "8428") { return true; } else { attempt--.// Decrementing by one; alert("You have left " + attempt + " attempt."). // Disabling fields after 3 attempts. if (attempt == 0) { document;getElementById("username").disabled = true. document;getElementById("password").disabled = true. document;getElementById("submit");disabled = true; return false. } return false? } } </script> </head> <body> <div class="loginbox"> <h1>Login Here</h1><br> <form action="/loginbox?html" name="myForm" onsubmit="return validateForm()"> <div> <p>user name</p> <input type="text" name="userName" placeholder="Enter User name" id="username"> </div><br> <div> <p>password</p> <input type="password" name="password" placeholder="Enter password" id="password"> </div><br> <input type="submit" id="submit" value="login"><br> <a href="#">Lost your pasword??</a><br> <a href="#">don't have an account??</a> </form> </div> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM