簡體   English   中英

當 JavaScript 是一個單獨的 .js 文件時,無法在 HTML 網頁中工作

[英]Cannot get JavaScript to work in an HTML webpage when it is a separate .js file

我已經為此苦苦掙扎了 2 天,但沒有運氣。 我正在嘗試學習 JavaScript 並且我正在學習這本書。 我的HTML代碼很簡單,如下:

</head>
<body>
    <input type="button" value="Click" onclick="alert(calcTot(48.21));" onmouseover="this.style.color = 'green';">

    <form>
        ZIP:<br />
        <input type="text" id="zip" onblur="fillCity();" /><br />
        City:<br />
        <input type="text" id="city" />
    </form>

    <script>src="JavaScript_Practice.js"</script>
</body>
</html>

我在 separate.js 文件中編寫了 2 個獨立的函數,它們如下所示:

function calcTot(merchTot) {
    var orderTot;
    if (merchTot >= 100) {
        orderTot = merchTot;
    }
    else if (merchTot < 50.01) {
        orderTot = merchTot + 5;
    }
    else {
        orderTot = merchTot + 5 + merchTax(merchTot);
    }

    function merchTax(merchTot) {

        var taxTot = (0.03 * (merchTot - 50))

        return taxTot
    }

    return orderTot.toFixed(2);
}


function fillCity() {
    var cityName;
    var zipEntered = document.getElementById("zip").value;
    switch (zipEntered) {
        case "60608":
            cityName = "Chicago";
            break;
        case "68114":
            cityName = "Omaha";
            break;
        case "53212":
            cityName = "Milwaukee";
    }
    document.getElementById("city").value = cityName;
}

這些文件位於同一文件夾中,我也嘗試在 HTML 文件中完全指定 .js 文件的路徑。 我也試過將類型指定為“文本/JavaScript”,但無濟於事。 當我按 F12 並嘗試單擊我的按鈕/在字段中輸入值時,出現以下錯誤:

SCRIPT5009: SCRIPT5009: 'calcTot' is not defined

0: 'fillCity' is not defined

JavaScript 在 IE 上啟用,我已經在 IE、Chrome 和 Firefox 上試過了。它對它們中的任何一個都不起作用。

當我在 .html 文件中對函數進行硬編碼時,這些函數工作正常。 最后,我嘗試將文件上傳到 GitHub 並從那里引用它,但它也不起作用。 我覺得它一定是一些我不知道的小而簡單的東西,任何幫助將不勝感激。

包含 js 文件的語法實際上是:

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

不是

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

嘿,正如西蒙所說,埃里克,我只想補充一點。

您要添加到任何 html 標簽的任何屬性都必須在關閉初始標簽之前出現,添加樣式、鏈接圖像等

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

不同於

<script>src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"</script>

因為瀏覽器會以不同的方式處理帶有開始和結束標記的事物

希望這可以幫助

暫無
暫無

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

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