我正在尝试编写一个javascript / angular js函数来实现以下功能:当用户输入一个数字时,它会告诉他们数字是太高还是太低(> 100太高)
这是我的HTML代码:
<div>
<p id="num">Number : <input type="number"> </p>
<p id="demo" onkeyup="numberToHigh()"> </p>
</div>
这是我的js代码:
function numberToHigh(){
var number = document.getElementById('num');
var message = document.getElementById('demo');
if (number > 100) {
message.innerHTML = "number too high";
}else{
message.innerHTML = "number ok";
}
}
});
当我在文本区域输入值时,我无法弄清楚为什么没有发生任何事情。
答案 0 :(得分:2)
您应该将事件监听器附加到input
元素,而不是p
元素。
答案 1 :(得分:2)
var num
正在选择错误的元素(它应该是input
)。您还需要此元素的value
而不是元素本身。您还将keyup
事件绑定到错误的元素(这也应该是input
)...
function numberToHigh(){
var number = document.getElementById('num').value;
var message = document.getElementById('demo');
console.log(number)
if (number > 100) {
message.innerHTML = "number too high";
}else{
message.innerHTML = "number ok";
}
}
&#13;
<div>
<p>Number : <input id="num" type="number" onchange="numberToHigh()" onkeyup="numberToHigh()"> </p>
<p id="demo"> </p>
</div>
&#13;
修改
您可能还希望在onchange
事件触发时调用您的函数以捕获数字输入的+/-按钮点击
答案 2 :(得分:0)
试试这个
<input type="number" id="num" onkeyup="numberToHigh()">
答案 3 :(得分:0)
你犯了很多错误。我试图纠正它们。你可以使用这些:
<div>
<p id="num">Number : <input id="numValue" type="number" /> </p>
<p id="demo"> </p>
</div>
$("#numValue").keyup(function() {
var number = document.getElementById('numValue').value;
var message = document.getElementById('demo');
if (number > 100) {
message.innerHTML = "number too high";
}else{
message.innerHTML = "number ok";
}
});
答案 4 :(得分:0)
您可以在输入的ng-change上实现功能,这是纯角度代码
<div>
<p id="num">Number : <input type="number" ng-model="number" ng-change="numberToHigh()"> </p>
/div>
控制器看起来像
$scope.numberToHigh = function (){
if ($scope.number > 100) {
// do your work
}
else{
// do your work
}
}
答案 5 :(得分:0)
您在JS中选择了错误的元素值,并且还将事件列表给错了元素,应该从输入框中获取值并调用输入框的列表
在 onchang e 中调用它,以向上和向下箭头点击工作
<script>
function numberToHigh(){
var number = document.getElementById('num').value;
var message = document.getElementById('demo');
if (number > 100) {
message.innerHTML = "number too high";
}else{
message.innerHTML = "number ok";
}
}
</script>
<div>
<p >Number : <input id="num" onchange="numberToHigh()" onkeyup="numberToHigh()" type="number"> </p>
<p id="demo"> </p>
</div>
答案 6 :(得分:0)
你应该将事件监听器附加到输入,试试这个
function numberToHigh(){
var number = document.getElementById('input_number');
var message = document.getElementById('demo');
if (number.valueAsNumber > 100) {
message.innerHTML = "number too high";
} else{
message.innerHTML = "number ok";
}
};
&#13;
<div>
<p id="num">Number : <input id="input_number" onmousedown="numberToHigh()" onkeyup="numberToHigh()" type="number"> </p>
<p id="demo" > </p>
</div>
&#13;