[英]Number from input box Javascript
我正在尝试从输入框中获取一个数字,但它会返回一个空字符串作为警报。 我想念什么?
var button = document.getElementsByClassName("btn")[0]; var num = document.getElementById("input").value; button.addEventListener("click", calculate); function calculate() { alert(num); }
<input type="number" id="input"> <input type="button" value="Calculate!" class="btn"> <p id="result">
您需要读取函数内部的输入值,而不是在页面加载期间。 以下代码将起作用。
var button = document.getElementsByClassName("btn")[0];
button.addEventListener("click", calculate);
function calculate() {
var num = document.getElementById("input").value;
alert(num);
}
您在页面加载时读取输入的值(当输入具有默认值时,该值为空字符串)。
然后,您可以在函数运行时警告该读取的结果。
您需要读取函数内部的值,以便在函数运行时获得该值。
您为什么不这样做呢?
<input type="number" id="input">
<input type="button" onclick="calculate()" value="Calculate!" class="btn">
<p id="result"></p>
<script>
function calculate() {
var num = document.getElementById("input").value;
alert(num);
document.getElementById("result").innerHTML = num;
}
</script>
工作示例: https : //jsfiddle.net/j9eb0xfm/3/
然后我想您可以通过这种方式来避免添加属性。
<input type="number" id="input">
<input type="button" value="Calculate!" class="btn">
<p id="result"></p>
<script>
var button = document.getElementsByClassName("btn")[0];
button.addEventListener('click', function() {
calculate();
});
function calculate() {
var num = document.getElementById("input").value;
alert(num);
document.getElementById("result").innerHTML = num;
}
</script>
工作示例: https : //jsfiddle.net/j9eb0xfm/5/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.