gpt4 book ai didi

javascript - 如何检索输入框中的值以用于我的函数?

转载 作者:行者123 更新时间:2023-11-30 16:23:57 26 4
gpt4 key购买 nike

我试图从我的 html 中的几个输入框中获取值,并在另一个输入元素中返回值。

如果我用我想要的信息对 var 进行硬编码,它确实会正确返回一个值。

我的代码是这样的:

<html>  
<head>
<title>Compounding interest in javascript</title>
</head>
<body>
<script type="text/javascript">
var term = 0;
var interest = 0;
var contribution = 0;
var balance = 0;

function calcValue(){

term = document.getElementById("numOfMonths");
interest = (document.getElementById("interestRate")/100) / 12;
contribution = document.getElementById("amountPerMonth");

for (i=0;i<(term+1);i++){
balance = (balance + contribution) * (1 + interest);

var rounded = Math.round( balance * 100 ) / 100;
document.getElementById("#finalValue").value = rounded;
}
}


</script>
<form>
<h3 id="amountPerMonth">Enter Amount You Would Like To Set Aside Per Month</h3>
<input type="text">
<h3>Enter The Number Of Months Before You Plan To Withdraw</h3>
<input type="text" id="numOfMonths">
<h3 id="interestRate">Enter Your Interest Rate</h3>
<input type="text">
<input type="button" id="calcButton" value="Click Me!" onClick="calcValue()">
<input type="text" id="finalValue">
</form>
</body>
</html>

感谢您的帮助!

最佳答案

这些是您的代码的几个问题。

  1. document.getElementById("id") 将获取 DOM 元素。获取值需要使用document.getElementById("id").value

  2. 需要在输入元素而不是 h3 上设置“id”属性,因为您正在访问 document.getElementById("amountPerMonth")。value 和“value”属性适用于输入和元素等元素不是标题等

  3. document.getElementById 是一个 javascript 函数,您需要传递一个字符串作为属性。传递“#id”将查找 id 为“#id”的元素。您似乎在这里将 jQuery 与 Javascript 混淆了。在 jQuery 中,它将是 $("#id")。

  4. 在 for 循环中,您有 (term+1),其中 term 实际上是一个字符串。因此,“1”将附加到字符串,导致 for 循环运行的次数不正确。因此需要正确使用 parseInt 和 parseFloat。

进行这些更改后,您的程序应该会按预期运行。

这是更正后的代码。

<html>  
<head>
<title>Compounding interest in javascript</title>
</head>
<body>
<script type="text/javascript">
var term = 0, interest = 0, contribution = 0, balance = 0;

function calcValue(){
var rounded;
term = parseInt(document.getElementById("numOfMonths").value, 10);
interest = (parseFloat(document.getElementById("interestRate").value, 10)/100) / 12;
contribution = parseFloat(document.getElementById("amountPerMonth").value, 10);

for (i=0;i<(term+1);i++){
balance = (balance + contribution) * (1 + interest);

rounded = Math.round( balance * 100 ) / 100;
}
document.getElementById("finalValue").value = rounded;
}


</script>
<form>
<h3>Enter Amount You Would Like To Set Aside Per Month</h3>
<input type="text" id="amountPerMonth">
<h3>Enter The Number Of Months Before You Plan To Withdraw</h3>
<input type="text" id="numOfMonths">
<h3>Enter Your Interest Rate</h3>
<input type="text" id="interestRate">
<input type="button" id="calcButton" value="Click Me!" onClick="calcValue()">
<input type="text" id="finalValue">
</form>
</body>
</html>

关于javascript - 如何检索输入框中的值以用于我的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34374030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com