【发布时间】:2019-04-03 17:54:19
【问题描述】:
我是编程新手,不知道为什么 innerHTML 函数不会在屏幕上打印一个值(我意识到我使用了两个函数,对于这么少量的代码来说似乎是额外的,但这是因为它是更大的项目)
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form id="moneyform" name="moneyform">
<fieldset>
<select id="money" name="money" onselect="calculateTotal()">
<option value="loon">1 dollar</option>
<option value="toon">2 dollar</option>
</select>
<br>
<p id="pg"></p>
</fieldset>
</form>
<script type="text/javascript" src="TEST.js"></script>
</body>
</html>
//JAVASCRIPT BELOW
var moneyprice = new Array();
moneyprice["loon"] = 1;
moneyprice["toon"] = 2;
function moneyTotal() {
var mons = 0;
var frm = document.forms["moneyform"];
var selectedMoney = frm.elements["money"];
mons = moneyprice[selectedMoney.value]
return mons;
}
function calculateTotal() {
var total = moneyTotal();
document.getElementById("pg").innerHTML = total;
}
【问题讨论】:
-
在哪里/如何调用
calculateTotal()函数? -
对不起,我的意思是把 calculateTotal() 函数放在我将编辑的 html 文件中 moneyTotal() 的位置
-
你确定你在
src脚本标签的属性中使用了正确的路径吗? -
只需将
onselect更改为oninput或onchange,您的代码应该可以工作:jsfiddle.net/3rror404/uv4eg5bx/6。onselect在输入中选择文本时触发(即用光标突出显示文本)。 -
感谢萝卜工作完美
标签: javascript html arrays function