[英]text input display Nan when I use innerHTML
出于某种原因,我在这里没有得到 output:
Javascript
var num1 = document.getElementById('number-1').value;
var number1 = parseFloat(num1);
var result = document.getElementById('results');
function generateAddition(){
result.innerHTML = number1 + number1;
result.style.backgroundColor = "lightgrey";
}
HTML
<span id="results"></span>
<input type="number" class="form-control" name="number-1" id="number-1">
<button type="button" onclick="generateAddition()">add</button>
您必须在 function 调用中获取输入字段的值!
var result = document.getElementById('results'); function generateAddition(){ var num1 = document.getElementById('number-1').value; var number1 = parseFloat(num1); result.innerHTML = number1 + number1; result.style.backgroundColor = "lightgrey"; }
<span id="results"></span> <input type="text" class="form-control" name="number-1" id="number-1"> <button type="button" onclick="generateAddition()">add</button>
这里的问题是generateAddition
正在捕获初始值而不是 dom object 本身。 初始值为空字符串( Nan
)。 只需捕获元素本身并继续获取generateAddition
function 中的元素值。
var num1 = document.getElementById('number-1');
var result = document.getElementById('results');
function generateAddition() {
var number1 = parseFloat(num1.value);
result.innerHTML = number1 + number1;
result.style.backgroundColor = "lightgrey";
}
我希望这有帮助。 现在您可以使用num1
作为全局变量并在 function 调用时获取/加载它的值!
var num1 = document.getElementById('number-1'); var result = document.getElementById('results'); function generateAddition(){ var number1 = parseFloat(num1.value); result.innerHTML = number1 + number1; result.style.backgroundColor = "lightgrey"; }
<span id="results"></span> <input type="text" class="form-control" name="number-1" id="number-1"> <button type="button" onclick="generateAddition()">add</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.