<form>
我需要验证HTML表单中的数量字段。但是,当我将任何数量的值(如数字,文本或其他内容)放入程序中时,程序始终在此代码的其他部分运行。它不适用于整数。
答案 0 :(得分:1)
假设您有数量的文本框输入,则该文本框的value
将始终是字符串。使用isNaN
检查:
var y = document.getElementById("quantity").value;
if (!isNaN(y)) {
console.log('is a number');
} else {
document.getElementById("quantity").style.borderColor = "#e60000";
document.getElementById("qty").innerHTML = " enter valid quantity.*";
document.getElementById("quantity").focus();
}
isNaN
返回给定的值是否为不是数字。因此,如果它进入if
块,则说明该字符串是一个数字。然后,您可以使用parseInt
函数将其转换为实整数。
答案 1 :(得分:1)
现在使用isNaN方法进行检查。
const quantity = document.getElementById("quantity");
const qty = document.getElementById("qty");
let y = quantity.value;
let numberY = Number(y);
if(isNaN(numberY)) {
console.log('This is not a number');
} else {
console.log('do it now. it is a number');
quantity.style.borderColor = "#e60000";
qty.innerHTML = " enter valid quantity.*";
quantity.focus();
}
答案 2 :(得分:1)
有多种方法可以达到相同目的。下面提到其中一些:
<input type="text" pattern="^[0-9]*$" />
<input type="number" min=0 max=100 step=1>
isNan
验证输入是否为数字isNaN(y)
,并使用y.indexof(".")==-1
验证整数是否为答案 3 :(得分:0)
也许只是将其与数字进行比较
if(y != "" && y - y == 0) { }
答案 4 :(得分:0)
尝试这个,
e.err -> will give you the error code like 4xx
e.errstr -> will give you the error message like 'unable to find the specified database'