簡體   English   中英

如何將“ onClick”事件鏈接到javascript文件?

[英]How do I link an “onClick” event to a javascript file?

我有一個帶有onclick事件的按鈕。

我的按鈕Javascript不在HTML文檔中,但我使用<script src="example.js"></script>將其鏈接到文檔。 如何使“ onclick”事件鏈接到我的javascript文件? 這就是我嘗試過的。

function pasuser(form) {
    if (form.id.value=="user") { 
        if (form.pass.value=="password") {              
            location="example.html" 
        } else {
            alert("Invalid Password")
        }
    } else {
            alert("Invalid UserID")
    }
}

<!DOCTYPE html>
<html>
    <head>
        <title>NATUREBOWL- LOGIN</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="shortcut icon" href="favicon.ico"/> 

    <script src="loginform.js"></script>

</head>
<body>
        <p>Log in to Conitinue</p>
        <form name="login"><p>username    </p><input name="id" type="text">
            <br/>
        <p>password</p>
        <input name="pass" type="password">
            <center>
                <input type="button" value="Login" onClick="login.js">
            </center>
</center>
</div>
</body>
</html>

PS- function pasuser(form)代碼為login.js。

PPS-對不起,如果我的問題有點含糊,我很難描述它。 告訴我,我可以清除一些內容或刪除此問題。

onClick不能將您重定向到另一個頁面。 您所要做的就是將.js文件包含在html文檔的標題部分中。 它將包括當前html文檔的.js頁面。 您需要詢問所需的功能,該功能將在單擊按鈕時觸發

<head>
   <script src="loginform.js"></script>
</head>

然后,您可以將此.js文件中的任何功能附加到按鈕的onClick envent

onClick="pasuser(//parameters);"

如果導入.js文件,實際上就像在頁面本身中編寫該代碼一樣。 只需在onclick規范中調用函數名稱即可。

不要將onclick設置為login.js,請確保將.click值設置為函數的名稱,因此onclick應該為

<input type="button" value="Login" onClick="pasuser(< put parameter here )">

我假設您只希望onclick調用該函數。

<input type="button" value="Login" onClick="pasuser(<parameters>)">

如果我沒記錯的話,OnClick需要運行該功能。 僅鏈接文件是不夠的,因為您的瀏覽器不知道您要它運行該功能。 嘗試這個:

<input type="button" value="Login" onClick="pasuser(form)">

好的,您要做的是調用函數而不是js。 所以代碼應該像這樣

<center>
    <input type="button" value="Login" onClick="pasuser(form)">
</center>

<script src=""/>標記鏈接的外部代碼的行為就像直接放在<script></script>標記中的代碼一樣。 因此,對待函數pasuser(form)就像直接在HTML中進行編碼一樣。

OnClick和其他事件屬性希望在其引號內包含JavaScript代碼,因此,指定文件名onClick="login.js"絕對不正確。 您必須在其中放置一些javascript代碼來調用您的函數,並將表單作為參數傳遞: onClick="pasuser(document.forms.login)"

但是請注意,您的代碼存在許多弱點和不良的設計問題:

  1. 如今,按名稱訪問表單和表單元素是一種古老的做法
  2. 具有名為“ id”的元素可能導致DOM樹內部的歧義
  3. 您永遠,永遠,永遠不要在客戶端代碼上有這樣的用戶名/密碼驗證! 曾經!

暫無
暫無

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

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