无法使用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
vsdownPayment
。还有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);