我无法在输入字段中将0验证为可选择的“数字”,目前0不计入验证。
function verifyIt(){
if((Number(document.form1.baseline_du_115.value)) && document.form1.baseline_du_115.value>=0 && document.form1.baseline_du_115.value<=99){
document.form1.submit();
return true;
}else{
alert("How many times per month do you drink more than 3-4 drinks on a single occasion?");
return false;
}
} 有人告诉我,我应该确保在if语句中,我需要使== 0一个可选择的输入。 我需要0才能抛出其他
答案 0 :(得分:2)
0 == false
在javascript中评估为true
。这就是你的if子句每次评估为false
的原因。
您似乎要验证是否已定义Number(document.form1.baseline_du_115.value)
。以下是您可以编写的一些方法:
document.form1.baseline_du_115.value != null
document.form1.baseline_du_115.value !== undefined
!isNaN(Number(document.form1.baseline_du_115.value))
答案 1 :(得分:1)
这里发生的是Number(0)转换为0,转换为false。如果您只想检查它是否为数字,请替换
(Number(document.form1.baseline_du_115.value))
带
!isNaN((Number(document.form1.baseline_du_115.value)))
这是有效的,因为如果您向Number()
发送不是数字的内容,您将获得NaN
答案 2 :(得分:0)
如果值为0,Javascript会将此转换为false。因此,每次使If语句都为Else
(Number(document.form1.baseline_du_115.value))