从input =“number”获取javascript的值

时间:2017-03-10 23:03:29

标签: javascript dom

我已经尝试了我在这里以及整个互联网上找到的所有内容,但这不起作用。

我只想检查输入类型=“数字”以查看它是否与数据库中已有的数字匹配。现在我保持简单,因为我可以解决剩下的问题。

这是我的代码:

输入:

 <input style="width: 50px; font-size: 17px;" type="number" min="1" autocomplete="off" id="days" name="days" value="1" onchange="daysChange(this.days)" required />

这是Javascript:

 function daysChange(days) {
     var day = document.getElementById("days");
     if (day == "3"){
         alert("You Already Have An Email Going Out That Day. Please Select Another Day.");
     }
 }

它没有获得天数的价值。相反,如果我发出警报并让它输出值,那就是它所说的...... [object HTMLInputElement]

3 个答案:

答案 0 :(得分:2)

你需要获得价值:

function daysChange(days) {
 var day = document.getElementById("days");
 if (day.value == "3"){
 alert("You Already Have An Email Going Out That Day. Please Select Another Day.");
 }
 }

答案 1 :(得分:0)

如上所述,document.getElementById("days")返回匹配输入的整个对象。您需要获取value属性才能获取当前输入值。工作示例:

function daysChange(days) {
  var day = document.getElementById("days");
  
  if (day.value == "3"){
     alert("You Already Have An Email Going Out That Day. Please Select Another Day.");
  }
}
<input style="width: 50px; font-size: 17px;" type="number" min="1" autocomplete="off" id="days" name="days" value="1" onchange="daysChange(this.days)" required />

答案 2 :(得分:0)

如前所述,您必须从HTMLInput中获取价值:

if (day.value === "3")

同样好的一点是,输入的值是类型字符串,我相信,你需要类型整数,所以使用parseInt的简写属性:

if (day.value|0 === 3)

更漂亮。