【发布时间】:2017-01-17 09:46:05
【问题描述】:
想尝试使用外部 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 的“Sources”选项卡中看到它。两个文件都在同一个文件夹中。
编辑:问题已解决,请参阅我的回答。
【问题讨论】:
-
你能添加整个
.js文件吗? -
是完整的js文件还是还有更多?函数声明是嵌套在 somthing 中的吗?
-
html和js都在同一个文件夹里?
-
尝试使用
javascript:change() -
@WasteD 有点尴尬,但在问题中为你添加了整个功能
标签: javascript function