想尝试使用外部JS文件,但我似乎无法调用我在那里定义的函数。每次我尝试调用它时,都会返回错误“Uncaught ReferenceError:calculate(function name)is not defined”。我已经编码了一个星期,所以试图找出我自己的错误导致我无处可去。
代码块:
<head>
<meta charset= "utf-8">
<script type= "text/javascript" src= "nameOfFile.js"></script>
</head
尝试调用该函数:
<select type= "select" id = "currency" onchange= "calculate()">
<option value= "RUB", selected> RUB </option>
<option value= "USD"> USD </option>
<option value= "EUR"> EUR </option>
<option value= "GBP"> GBP </option>
外部文件中的功能:
function calculate() {
var currencyName = document.getElementById("currency");
var currency = currencyName.value;
var time = document.getElementById("timeInput");
var sum = document.getElementById("sumInput");
var amount = sum.value;
var income; //pure percent revenue
var earnings; //income + revenue
var result = document.getElementById("results");
var percentage;
switch (currency) {
case RUB:
if (time>= 3 && time <= 5) {
percentage = 5;
}
else if (time >= 6 && time <= 11){
percentage = 6;
}
else if (time >= 12 && time <= 24){
percentage = 6,5;
}
break;
case USD:
if (time>= 3 && time <= 5) {
percentage = 0,1;
}
else if (time >= 6 && time <= 11){
percentage = 0,5;
}
else if (time >= 12 && time <= 24){
percentage = 1;
}
break;
case EUR:
case GBP:
if (time>= 3 && time <= 5) {
percentage = 0,1;
}
else if (time >= 6 && time <= 11){
percentage = 0,25;
}
else if (time >= 12 && time <= 24){
percentage = 0,5;
}
break;
}
income = percentage / 100 * amount;
earnings = amount + income;
}
该页面似乎识别出.js文件的存在,例如,我可以在Chrome的“来源”标签中看到它。两个文件都在同一个文件夹中。
编辑:问题解决了,请参阅我的回答。答案 0 :(得分:0)
您可以在HTML的底部或页脚部分加载脚本。可能是无法识别调用它的元素的函数。
检查文件是否包含正确。你可以写警报(&#34; hi&#34;);在包含的文件的顶部。
如果您需要了解更多信息,请与我们联系。
谢谢和问候
答案 1 :(得分:0)
显然,问题是我不小心在外部JS文件中添加了一些HTML代码。
我注意到我底部有段落(出于某种原因......),当我删除它们并将逗号固定为点(感谢Tristup和Thomas)时,一切都开始正常工作。