我已经尝试了我在这里以及整个互联网上找到的所有内容,但这不起作用。
我只想检查输入类型=“数字”以查看它是否与数据库中已有的数字匹配。现在我保持简单,因为我可以解决剩下的问题。
这是我的代码:
输入:
<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]
答案 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)
更漂亮。