无法使用Javascript更改文本框中的值

无法使用Javascript更改文本框中的值,javascript,html,css,web,Javascript,Html,Css,Web,我试图获取用户输入的数字,并将其用于计算值,然后将这些数字显示在文本框中。提交值时,右侧的文本框不会更改。有什么想法吗 <!DOCTYPE html> <html> <head> <title>Car Payment Calculator</title> <style> html, body { margin:0; padding:0; } #pagewidth { max

我试图获取用户输入的数字,并将其用于计算值,然后将这些数字显示在文本框中。提交值时,右侧的文本框不会更改。有什么想法吗

<!DOCTYPE html>
<html>
<head>
  <title>Car Payment Calculator</title>
<style>
  html, body { 
    margin:0; 
    padding:0; 
  } 

  #pagewidth { 
    max-width:9000em;  
    min-width:1000em;  
  }

  #header {
    position:relative; 
    height:150px; 
    background-color:#06F9FC; 
    width:100%;
    display:block;
    overflow:auto;
  } 

  #maincol {
    background-color: #FCC66C;  
    position: relative; 
  }
</style>
    <HTA:APPLICATION ID="myCarPayment"
    APPLICATIONNAME="Car Payment Calculator"
    SYSMENU="yes"
    BORDER="thin"
    BORDERSTYLE="normal"
    CAPTION="yes"
    ICON=""
    MAXIMIZEBUTTON="yes"
    MINIMIZEBUTTON="yes"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SCROLL="no"
    VERSION="1.0"
    WINDOWSTATE="normal"/>

  <script>
    window.resizeTo(300,300);

    function calculate() {
      var years= document.forms.myForm.years.value;  
      var monthly= amount/(years*12);  
      var number= monthly/amount;  
      var form = document.forms.myForm;  
      var loanAmount = form.loanAmount.value;  
      var downPayment = '0';  
      var anualInterestRate = form.interestRate.value;  
      var years = form.years.value;  
      var monthRate = anualInterestRate/12;  
      var numberOfPayments = years * 12;  
      var Principal=loanAmount-downPayement;  
      var valueNumber = document.getElementById("numPay");  
      var vlaueMonthly = document.getElementById("monthlyPay");  

      valueNumber.value = numberOfPayments;  
      valueMonthly.value = monthly;
    }  

  </script>
</head>
<body>
    <div id="header">
        <pre>
            <p>This application will help you calculate car payments.<br/>
Just enter the information and hit Calculate!</p>
        </pre>
    </div>
    <div id="maincol">
        <pre>
            <form name="myForm" action="" onsubmit="calculate()">
                <table>
                    <tr>
                        <td>Loan Amount:</td><td> <input type="number" name="loanAmount"></td>
                    </tr>
                    <tr>
                        <td>Interest Rate:</td><td> <input type="number" name="interestRate"></td><td>Number of Payments:</td><td><input type="text" name="numberPayments" id="numPay" value="0"></td>
                    </tr>
                    <tr>
                        <td>Number of Years:</td><td> <input type="number" name="years"></td><td>Monthly Payment:</td><td><input type="text" name="monthlyPayments" id="monthlyPay" value="0"></td>
                    </tr>
                    <tr>
                        <td><input type="submit" value="Calculate"></td>
                    </tr>
                </table>
            </form>
        </pre>
    </div>
</body>    
</html>

汽车付款计算器
html,正文{
保证金:0;
填充:0;
} 
#页面宽度{
最大宽度:9000em;
最小宽度:1000em;
}
#标题{
位置:相对位置;
高度:150像素;
背景色:#06F9FC;
宽度:100%;
显示:块;
溢出:自动;
} 
#梅因科尔{
背景色:#FCC66C;
位置:相对位置;
}
窗口。resizeTo(300300);
函数计算(){
var years=document.forms.myForm.years.value;
每月风险值=金额/(年*12);
风险值编号=每月/金额;
var form=document.forms.myForm;
var loanAmount=form.loanAmount.value;
风险值首付='0';
var AnualInterestate=form.interestate.value;
var年=form.years.value;
var monthRate=AnualInterestate/12;
var numberOfPayments=年*12;
var本金=贷款金额首付款;
var valueNumber=document.getElementById(“numPay”);
var vlaueMonthly=document.getElementById(“monthlyPay”);
valueNumber.value=付款数量;
valueMonthly.value=每月;
}  
此应用程序将帮助您计算汽车付款。
只需输入信息并点击计算

贷款金额: 利率:付款数量: 年数:每月付款:
您的回调函数
calculate()
中出现错误:

您正在使用
金额
,但尚未定义/声明该金额


我不确定
amount
的值应该是多少。

也从输入中获取值,并使用
parsetInt()
将其转换为数字,您需要在计算之前将其转换为数字


ReferenceError:未定义金额
,您使用了
金额
,但从未定义过它-
var monthly=amount/(years*12)。编写
Javascript
时,最好使用调试器,如
Firebug
Chrome开发工具
,并查看
控制台
。谢谢。我不知道有这样的调试器。我试图在一个独立的研究中自学。这里有一个打字错误
downPayment
vs
downPayment
。还有
vlaueMonthly
-
ReferenceError:valueMonthly没有定义
我没有检查,除此之外,可能还有更多错误
calculate()
可能应该
返回false
,因为表单不应该提交(我想是吧?)
event.preventDefault()
将消除这里的许多废话。没错,它实际上不应该提交任何东西,例如发出POST请求,我将提交更改为
分配给金额的值不应该重要,因为它后来在函数calculate()中重新分配,对吗?虽然我应该在检查拼写时更加主动。
Uncaught ReferenceError: amount is not defined
  var years =   parseInt(document.forms.myForm.years.value, 10);
  var loanAmount = parseInt(form.loanAmount.value, 10);  
  var valueNumber = parseInt(document.getElementById("numPay"), 10);  
  var vlaueMonthly = parseInt(document.getElementById("monthlyPay"), 10);