未能计算汽车贷款的每月总付款额。出了什么问题?
Failure to calculate the total monthly payment for a car loan. What's going wrong?
更新代码。计算()仍然无法正常工作。每月付款金额最终不会传递到 "total" id 框。有谁看到这里的根本问题是什么?我的语法似乎是正确的,我相信我对每个变量在代码中的应用位置的规范可能存在问题。
我在让函数 calculate() 传递正确结果时遇到问题 "total." 有任何可能的解决方案吗?点击计算按钮的动作应该会显示总数,但是什么都不显示,好像按钮根本没有激活计算功能。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;}
</script>
</head>
<div align="center">
<hr>
<form name id="Main">
<input type="number" id="price" placeholder="Price of the Car"/>
<br>
<br>
<input type="number" id="DP" placeholder="Down Payment"/>
<br>
<br>
<input type="number" id="R" placeholder="Annual % Rate"/>
<br>
<br>
<input type="number" id="N" placeholder="# of Years Loaned"/>
<br>
<br>
<input type="button" id="calculate" value="Calculate" onclick="javascript:calculate();"/>
<br>
<br>
<input type="number" id="total" placeholder="Total Cost..." readonly=""/>
<br>
<br>
<input type="reset" value="Reset">
</form>
<hr>
</div>
</html>
改用Math.pow()
函数。 ^ 运算符不适用于数学幂运算(请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_XOR and https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow)。
此外,它是 result.value = m
,而不是相反:)
另外 2:R
和 M
对我来说似乎是未定义的,你必须用一些东西来初始化这些变量,就像你对 P
和 D
所做的那样。
另外 3:使用 chrome 开发工具或类似工具。它会让你的生活更轻松。请记住,javascript 并不意味着 "no IDE" :D
不幸的是,您的原始代码永远无法运行,因为它有太多错误。
这是为您更正的fiddle,请看一下:
http://jsfiddle.net/q330fqw8/
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;
}
我在 HTML 中删除了 id="calculate"
,因为:Why JS function name conflicts with element ID?
在Javascript中,P
、D
、R
、N
4个变量要设置正确。最后,这个 m.value = result;
-> result.value = m;
但我想,你已经纠正了问题中的一些错误。我使用了您的原始代码。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;}
</script>
</head>
<div align="center">
<hr/>
<form id="Main">
<input type="number" id="price" placeholder="Price of the Car" />
<br />
<br/>
<input type="number" id="DP" placeholder="Down Payment" />
<br/>
<br/>
<input type="number" id="R" placeholder="Annual % Rate" />
<br/>
<br/>
<input type="number" id="N" placeholder="# of Years Loaned" />
<br/>
<br/>
<input type="button" value="Calculate Monthly Payment" onclick="calculate();" />
<br/>
<br/>
Total Monthly Payment:<input type="number" id="total" placeholder="Total Cost..." readonly="" />
<br/>
<br/>
<input type="reset" value="Reset" />
</form>
<hr/>
</div>
更新代码。计算()仍然无法正常工作。每月付款金额最终不会传递到 "total" id 框。有谁看到这里的根本问题是什么?我的语法似乎是正确的,我相信我对每个变量在代码中的应用位置的规范可能存在问题。
我在让函数 calculate() 传递正确结果时遇到问题 "total." 有任何可能的解决方案吗?点击计算按钮的动作应该会显示总数,但是什么都不显示,好像按钮根本没有激活计算功能。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;}
</script>
</head>
<div align="center">
<hr>
<form name id="Main">
<input type="number" id="price" placeholder="Price of the Car"/>
<br>
<br>
<input type="number" id="DP" placeholder="Down Payment"/>
<br>
<br>
<input type="number" id="R" placeholder="Annual % Rate"/>
<br>
<br>
<input type="number" id="N" placeholder="# of Years Loaned"/>
<br>
<br>
<input type="button" id="calculate" value="Calculate" onclick="javascript:calculate();"/>
<br>
<br>
<input type="number" id="total" placeholder="Total Cost..." readonly=""/>
<br>
<br>
<input type="reset" value="Reset">
</form>
<hr>
</div>
</html>
改用Math.pow()
函数。 ^ 运算符不适用于数学幂运算(请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_XOR and https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow)。
此外,它是 result.value = m
,而不是相反:)
另外 2:R
和 M
对我来说似乎是未定义的,你必须用一些东西来初始化这些变量,就像你对 P
和 D
所做的那样。
另外 3:使用 chrome 开发工具或类似工具。它会让你的生活更轻松。请记住,javascript 并不意味着 "no IDE" :D
不幸的是,您的原始代码永远无法运行,因为它有太多错误。
这是为您更正的fiddle,请看一下:
http://jsfiddle.net/q330fqw8/
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;
}
我在 HTML 中删除了 id="calculate"
,因为:Why JS function name conflicts with element ID?
在Javascript中,P
、D
、R
、N
4个变量要设置正确。最后,这个 m.value = result;
-> result.value = m;
但我想,你已经纠正了问题中的一些错误。我使用了您的原始代码。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function calculate() {
var P = document.getElementById("price").value;
var D = document.getElementById("DP").value;
var R = document.getElementById("R").value;
var N = document.getElementById("N").value;
var i = (R / 1200);
var n = (N * 12);
var m = ((P - D) * i * Math.pow(1 + i,n)) / (Math.pow(1 + i,n) - 1);
var result = document.getElementById('total');
result.value = m;}
</script>
</head>
<div align="center">
<hr/>
<form id="Main">
<input type="number" id="price" placeholder="Price of the Car" />
<br />
<br/>
<input type="number" id="DP" placeholder="Down Payment" />
<br/>
<br/>
<input type="number" id="R" placeholder="Annual % Rate" />
<br/>
<br/>
<input type="number" id="N" placeholder="# of Years Loaned" />
<br/>
<br/>
<input type="button" value="Calculate Monthly Payment" onclick="calculate();" />
<br/>
<br/>
Total Monthly Payment:<input type="number" id="total" placeholder="Total Cost..." readonly="" />
<br/>
<br/>
<input type="reset" value="Reset" />
</form>
<hr/>
</div>