call函数无法工作
call Function failing to work
我正在编写一个简单的javscript程序,在提交按钮上我调用find_amount()函数,但我一直得到"ReferenceError:find_amount未定义"。我做错了什么?我试过几种方法,但都没能奏效,尽管我以前试过几次这种方法,效果很好。
<form id="myForm">
<strong>Loan: <input type="text" name="loan" id="loan" value="" size="10"></strong>
<select id="duration" onclick="onSelectChange(this)" style="width: 85px">
<option value=" "></option>
<option value="three">3 years</option>
<option value="five">5 years</option>
<option value="six">6 years</option>
</select>
<strong>Interest: <input type="text" name="interest" id="interest" value="" size="10"></strong>
<button type="button" onclick="find_amount();">Submit</button></br></br>
<strong>Total amount to be returned: <input type="text" name="return" id="return" value="" size="10"></strong></br></br>
<strong>Installments</strong>
<select id="installments" onclick="onSelectChange(this)" style="width: 85px">
<option value=" "></option>
<option value="year">per year</option>
<option value="month">per month</option>
<option value="week">per week</option>
<option value="day">per day</option>
</select> <strong>:</strong>
<span id="final"></span>
</form>
JavaScript:
function onSelectChange(combo) {
switch (combo.value) {
case "three":
{
document.getElementById("interest").value = " 3% ";
break;
}
case "five":
{
document.getElementById("interest").value = " 5% ";
break;
}
case "six":
{
document.getElementById("interest").value = " 6% ";
break;
}
case " ":
{
document.getElementById("interest").value = " ";
break;
}
}
function find_amount() {
var total;
var inter;
var lo;
lo = document.getElementById("loan").value;
inter = document.getElementById("interest").value;
total = (lo * inter) / 100;
alert(total);
//document.getElementById("return").value = total;
}
}
您的find_amount()
函数是在onSelectChange()
函数中定义的,它对该函数之外的任何人都不可见。试着像这样将两个功能分开:
JS
function onSelectChange(combo) {
switch(combo.value) {
case "three" :
{
document.getElementById("interest").value = " 3% ";
break;
}
case "five" :
{
document.getElementById("interest").value = " 5% ";
break;
}
case "six" :
{
document.getElementById("interest").value = " 6% ";
break;
}
case " " :
{
document.getElementById("interest").value = " ";
break;
}
}
}
function find_amount(){
var total;
var inter;
var lo;
lo = document.getElementById("loan").value;
inter = document.getElementById("interest").value;
total = (lo * inter)/100;
alert(total);
//document.getElementById("return").value = total;
}
在find_amount() {...}
之前"缺少"onSelectChange(combo) {...
函数的右括号。您在函数结束后关闭了它。
因此函数find_amount
被定义/嵌套在onSelectChange(combo)
中,这就是为什么它在onSelectChange
之外的全局范围中不可见
我用Visual Studio格式化了代码,并编辑为您的文章。使用这样的编辑器有助于避免此类错误。
它应该是这样的:
function onSelectChange(combo) {
switch (combo.value) {
case "three":
{
document.getElementById("interest").value = " 3% ";
break;
}
case "five":
{
document.getElementById("interest").value = " 5% ";
break;
}
case "six":
{
document.getElementById("interest").value = " 6% ";
break;
}
case " ":
{
document.getElementById("interest").value = " ";
break;
}
}
}
function find_amount() {
var total;
var inter;
var lo;
lo = document.getElementById("loan").value;
inter = document.getElementById("interest").value;
total = (lo * inter) / 100;
alert(total);
//document.getElementById("return").value = total;
}
相关文章:
- 咖啡的Javascript订单总数无法使函数正常工作.请协助
- removeClass函数没有'工作不正常
- 你能解释一下这个阶乘函数是如何工作的吗?
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- jQuery加载的async和ready函数不工作
- 更改智能表中的页面将停止JQuery函数的工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- jQuery函数不能只在一个页面上工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 从js引擎的角度来看闭包和构造函数是如何工作的
- appendChild在函数外部工作,但在函数内部不工作
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 由于某种原因,我的JavaScript函数无法工作
- 为什么递归生成器函数没有't在ES2015工作
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 从控制台中的工作函数转换为工作脚本.(请参阅编辑)
- Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole:
- 简化工作函数以替换特定单词
- 为什么不在回调中工作函数?
- InnerHTML不工作:函数未定义