提示计算器功能的 InnerHTML 问题
InnerHTML problems with Tip Calculator function
我正在尝试为计算机科学编写一个简单的小费计算器 class 我在。它在 HTML/JavaScript。实际的 Tip Calculating 函数写在 JavaScript 中。我被告知使用 innerHTML 来显示 HTML 中函数的输出。因此,根据我的理解,innerHTML 通过将任何 value/variable(在本例中是我的函数的输出)写入具有定义的任何 id 的 HTML 容器来工作。
起初我以为可能只是我的代码顺序错误。但是我试过移动函数定义,但没有任何帮助。从 HTML 中提取变量时,我已经验证了输入 ID 是正确的。我已经阅读了很多关于类似问题的资料,但我似乎找不到我做错了什么。
所以这里是我定义函数的地方,并使用 innerHTML 来编写输出。该函数在实际用户输入之前定义。
function calculateTip(){
var checkAmount = document.getElementById("amountBox").value;
var percentTip = document.getElementById("tipBox").value;
var tipTotal = checkAmount * (percentTip / 100);
document.getElementById("tipVar").innerHTML = tipTotal;
}
<body>
<P>
Enter the check amount:
$<input type="numeric" id="amountBox" size=10 value="">
<br>
Tip percentage:
%<input type="numeric" id="tipBox" size=4 value="">
</P>
<input type="button" value="Calculate Tip"
onclick="calculateTip();" >
<hr>
<div id="tipVar"></div>
</body>
因此,我希望当您输入支票金额和小费百分比并单击 "Calculate Tip" 按钮时,它将 运行 函数和内部 HTML 写入输出将函数添加到 div 容器中的页面。但是,当我单击按钮时,似乎什么也没有发生。如果有人有 help/guidance 我将不胜感激。
您需要将 "tipVar" 放在函数内的引号中。
否则,将传入一个名为 tipVar 的未定义变量的值,并且找不到该 ID 的元素。
您的代码有错别字:
使用document.getElementById("tipVar").innerHTML = tipTotal;
您的代码无法正常工作,因为 tipVar
未定义,它是一个 ID,应作为字符串使用。
我已经更新了问题片段,现在应该可以使用了。
您刚刚忘记了 getElementById("tipBox");
上的引号
<html>
<body>
<p> Enter the check amount:
<input type="numeric" id="amountBox" size=10 value="">
<br>
Tip percentage:
<input type="numeric" id="tipBox" size=4 value="">
</P>
<input type="button" value="Calculate Tip" onclick="calculateTip();">
<hr>
<div id="tipVar"></div>
<script>
function calculateTip(){
var checkAmount = document.getElementById("amountBox").value;
var percentTip = document.getElementById("tipBox").value;
var tipTotal = checkAmount * (percentTip / 100);
document.getElementById("tipVar").innerHTML = tipTotal;
}
</script>
</body>
</html>
我正在尝试为计算机科学编写一个简单的小费计算器 class 我在。它在 HTML/JavaScript。实际的 Tip Calculating 函数写在 JavaScript 中。我被告知使用 innerHTML 来显示 HTML 中函数的输出。因此,根据我的理解,innerHTML 通过将任何 value/variable(在本例中是我的函数的输出)写入具有定义的任何 id 的 HTML 容器来工作。
起初我以为可能只是我的代码顺序错误。但是我试过移动函数定义,但没有任何帮助。从 HTML 中提取变量时,我已经验证了输入 ID 是正确的。我已经阅读了很多关于类似问题的资料,但我似乎找不到我做错了什么。
所以这里是我定义函数的地方,并使用 innerHTML 来编写输出。该函数在实际用户输入之前定义。
function calculateTip(){
var checkAmount = document.getElementById("amountBox").value;
var percentTip = document.getElementById("tipBox").value;
var tipTotal = checkAmount * (percentTip / 100);
document.getElementById("tipVar").innerHTML = tipTotal;
}
<body>
<P>
Enter the check amount:
$<input type="numeric" id="amountBox" size=10 value="">
<br>
Tip percentage:
%<input type="numeric" id="tipBox" size=4 value="">
</P>
<input type="button" value="Calculate Tip"
onclick="calculateTip();" >
<hr>
<div id="tipVar"></div>
</body>
因此,我希望当您输入支票金额和小费百分比并单击 "Calculate Tip" 按钮时,它将 运行 函数和内部 HTML 写入输出将函数添加到 div 容器中的页面。但是,当我单击按钮时,似乎什么也没有发生。如果有人有 help/guidance 我将不胜感激。
您需要将 "tipVar" 放在函数内的引号中。 否则,将传入一个名为 tipVar 的未定义变量的值,并且找不到该 ID 的元素。
您的代码有错别字:
使用document.getElementById("tipVar").innerHTML = tipTotal;
您的代码无法正常工作,因为 tipVar
未定义,它是一个 ID,应作为字符串使用。
我已经更新了问题片段,现在应该可以使用了。
您刚刚忘记了 getElementById("tipBox");
上的引号<html>
<body>
<p> Enter the check amount:
<input type="numeric" id="amountBox" size=10 value="">
<br>
Tip percentage:
<input type="numeric" id="tipBox" size=4 value="">
</P>
<input type="button" value="Calculate Tip" onclick="calculateTip();">
<hr>
<div id="tipVar"></div>
<script>
function calculateTip(){
var checkAmount = document.getElementById("amountBox").value;
var percentTip = document.getElementById("tipBox").value;
var tipTotal = checkAmount * (percentTip / 100);
document.getElementById("tipVar").innerHTML = tipTotal;
}
</script>
</body>
</html>