document.getElementById().value 的值为空
The values for document.getElementById().value are null
编辑:它现在正在工作。我必须在函数中获取值。
我正在尝试制作一个计算器,它接受用户的输入、计算,然后使用 javascript 在 table 中显示结果。控制台告诉我,即使在单击计算按钮并调用 calculate() 函数后,这 3 个用户值仍为空。函数内的控制台日志告诉我它正在被调用,但所有值仍然为空。
我得到的 html 是:
<!DOCTYPE html>
<html>
<head>
<title>Return on Investment Calculator</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
</head>
<body>
<header class="w3-container w3-center w3-blue-grey">
<h1>Return on Investment</h1>
</header>
<br>
<div class="w3-container w3-card-4 w3-sand">
<label>Initial Capital</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="initCapital"><br>
<label>Annual Return Percentage (Eg. enter 8.52 for 8.52%)</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="arp"><br>
<label>Number of years</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="years"><br>
<button class="w3-button w3-teal" id="button" onclick="calculate()">Calculate</button>
</div>
<br>
<div class="w3-container">
<table class="w3-table w3-striped">
<tr class="w3-blue-grey">
<th>Year</th>
<th>Return</th>
<th>End Value</th>
<th>Total Return Percentage</th>
</tr>
<div id="outputTable">
</div>
</table>
</div>
<script src="script.js"></script>
</body>
</html>
我 javascript 得到的是:
var initialCapital = document.getElementById("initCapital").value;
console.log(initialCapital);
var arp = document.getElementById("arp").value;
console.log(arp);
var numYears = document.getElementById("years").value;
console.log(numYears);
var year = [];
var annualReturn = [];
var endValue = [];
var totalReturnPercentage = [arp];
function calculate(){
console.log("Function is Working");
for(var i = 0; i < numYears-1; i++){
year.push(i);
console.log(year[i]);
}
}
console.log(year);
The console tells me that the 3 user values are null
控制台应该告诉你它们是空字符串。
even after clicking the calculate button and calling the calculate() function.
您没有查看该函数内部的输入值。
您查看在加载页面时(当它们是空字符串时)您对值所做的副本。
如果您想在 calculate
函数执行时读取值,那么您需要在 函数中读取它们。
编辑:它现在正在工作。我必须在函数中获取值。
我正在尝试制作一个计算器,它接受用户的输入、计算,然后使用 javascript 在 table 中显示结果。控制台告诉我,即使在单击计算按钮并调用 calculate() 函数后,这 3 个用户值仍为空。函数内的控制台日志告诉我它正在被调用,但所有值仍然为空。 我得到的 html 是:
<!DOCTYPE html>
<html>
<head>
<title>Return on Investment Calculator</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
</head>
<body>
<header class="w3-container w3-center w3-blue-grey">
<h1>Return on Investment</h1>
</header>
<br>
<div class="w3-container w3-card-4 w3-sand">
<label>Initial Capital</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="initCapital"><br>
<label>Annual Return Percentage (Eg. enter 8.52 for 8.52%)</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="arp"><br>
<label>Number of years</label><br>
<input class="w3-border" type="text" style="width: 100%; height: 36px;" id="years"><br>
<button class="w3-button w3-teal" id="button" onclick="calculate()">Calculate</button>
</div>
<br>
<div class="w3-container">
<table class="w3-table w3-striped">
<tr class="w3-blue-grey">
<th>Year</th>
<th>Return</th>
<th>End Value</th>
<th>Total Return Percentage</th>
</tr>
<div id="outputTable">
</div>
</table>
</div>
<script src="script.js"></script>
</body>
</html>
我 javascript 得到的是:
var initialCapital = document.getElementById("initCapital").value;
console.log(initialCapital);
var arp = document.getElementById("arp").value;
console.log(arp);
var numYears = document.getElementById("years").value;
console.log(numYears);
var year = [];
var annualReturn = [];
var endValue = [];
var totalReturnPercentage = [arp];
function calculate(){
console.log("Function is Working");
for(var i = 0; i < numYears-1; i++){
year.push(i);
console.log(year[i]);
}
}
console.log(year);
The console tells me that the 3 user values are null
控制台应该告诉你它们是空字符串。
even after clicking the calculate button and calling the calculate() function.
您没有查看该函数内部的输入值。
您查看在加载页面时(当它们是空字符串时)您对值所做的副本。
如果您想在 calculate
函数执行时读取值,那么您需要在 函数中读取它们。