为什么Javascript文件链接在我的主HTML页面中不起作用?

wtzytmuj  于 2023-01-24  发布在  Java
关注(0)|答案(2)|浏览(121)

建议将我自己研究的代码应用到头文件中,我查了大学的课堂笔记,找不到如何对外表示我的JS文件,文件名是login.js,在一个名为js的文件夹中。
HTML代码------------------------------〉

`<!doctype html>    <!-- This is a boostrap CDN template Bootstrap 4.6 version -->
<html lang="en">

    <head> 
    <title>SportZone</title>  
    <script type="text/javascript" src="js/login.js">
    </head>
    
    <body>
     
        <div>
          <a class="active" href="#home">Home</a>
          <a href="#news">News</a>
          <a href="#contact">Contact</a>
          <a href="#about">About</a>
        </div>
        
        
        <div class="container">
        <div class="main">
        <h2>Javascript Login Form Validation</h2>
        <form id="form_id" method="post" name="myform">
        <label>User Name :</label>
        <input type="text" name="username" id="username"/>
        <label>Password :</label>
        <input type="password" name="password" id="password"/>
        <input type="button" value="Login" id="submit" onclick="validate()"/>
        </form>
        <span><b class="note">Note : </b>use the following username and password. <br/><b class="valid">User Name : user@gmit<br/>Password : pass</b></span>
        </div>
        </div>

</body>
</html>`

Javascript代码----------------------------〉

`<!doctype html>
<html lang="en">
    <head>
        <title>Login</title>
    </head>
    <body>
    
    </body>
    </html>
    //type="text/javascript"
    <script type="text/javascript" src="login.js">
     var attempt = 3; 
            function validate(){
                            // Variable to count number of attempts.
                        // Below function Executes on click of login button.
            var username = document.getElementById("username").value;
            var password = document.getElementById("password").value;
            if ( username == "user@gmit.ie" && password == "pass"){
            alert ("Login successfully");
            return false;
                }
                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>
`
pw9qyyiw

pw9qyyiw1#

您的浏览器尝试解析Javascript文件的内容,但由于它作为Javascript代码无效,将无法执行此操作。

概念验证

(暂时)删除js/login.js中的所有内容,并在其中放入以下行:

alert("I'm a robot from the future! Beep! Beep!");

加载HTML页。是否看到警报对话框?如果是,请转到下一节。如果不是,请继续工作,直到看到它。在开发工具控制台中看到什么?是否看到错误?如果是,则该错误可能告诉您未找到文件。在这种情况下,请检查文件的访问权限以及假定文件所在的位置与其实际位置。
∮真实的的东西∮
现在,您已经能够将Javascript代码写入文件并执行,下面让我们将真实的代码放入该文件

var attempt = 3; 
        function validate(){
                        // Variable to count number of attempts.
                    // Below function Executes on click of login button.
        var username = document.getElementById("username").value;
        var password = document.getElementById("password").value;
        if ( username == "user@gmit.ie" && password == "pass"){
        alert ("Login successfully");
        return false;
            }
            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;           
                }
            }
    }
km0tfn4u

km0tfn4u2#

您似乎在Javacript文件中混入了HTML。只需从login.js文件中删除所有HTML,包括<script>标记。JS文件应只包含JS。

相关问题