未能计算汽车贷款的每月总付款额。出了什么问题?

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:RM 对我来说似乎是未定义的,你必须用一些东西来初始化这些变量,就像你对 PD 所做的那样。

另外 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中,PDRN4个变量要设置正确。最后,这个 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>