无法调用外部JS文件中定义的函数

时间:2017-01-17 09:46:05

标签: javascript function

想尝试使用外部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的“来源”标签中看到它。两个文件都在同一个文件夹中。

编辑:问题解决了,请参阅我的回答。

2 个答案:

答案 0 :(得分:0)

您可以在HTML的底部或页脚部分加载脚本。可能是无法识别调用它的元素的函数。

检查文件是否包含正确。你可以写警报(&#34; hi&#34;);在包含的文件的顶部。

如果您需要了解更多信息,请与我们联系。

谢谢和问候

答案 1 :(得分:0)

显然,问题是我不小心在外部JS文件中添加了一些HTML代码。

我注意到我底部有段落(出于某种原因......),当我删除它们并将逗号固定为点(感谢Tristup和Thomas)时,一切都开始正常工作。