当 JavaScript 是一个单独的.js文件时,无法让 JavaScript 在 HTML 网页中工作



我已经为此苦苦挣扎了两天,但没有运气。我正在尝试学习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>

我在单独的.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文件的路径。我也尝试将类型指定为"text/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>

由于浏览器会以不同的方式处理开始和结束标记中的内容

希望这有帮助

最新更新