if (j>6||j<1||typeof(j)!="number") { alert("请输入一个1到6之间的数值“); } else{ document.write("hahahaha");}为什么我在输入框输入里输入的数值在1到6之间还是会弹出提示呢?
6 回答
Running_v
TA贡献1条经验 获得超1个赞
网页input默认输入的是字符串,你需要将input的值手动转换下,parseInt(inputValue).这是基础问题,come on ,baby
ruibin
TA贡献358条经验 获得超213个赞
这涉及到js输入的一个本质问题:js所有输入框输入的数据都是字符串。所以typeof (j) != "number"肯定是为true的,因此条件总是成立。如果不相信,你可以用任一一个试试。例如你输入的是5,可实际获取到的是“5”。
林方清i
TA贡献14条经验 获得超11个赞
<input type="text" name="" id="txt" value="" /> <input type="button" name="" id="btn" value="确定" />
var btn = document.getElementById("btn"); btn.onclick = function() { var txt = document.getElementById("txt").value; var num = Number(txt);//字符串转换成数值 if (isNaN(num)) {//判断num是不是一个数值 alert("请输入数字"); } else { if (num < 1 || num > 6) { alert("请输入1-6之间的数字"); } } }
能理解这段,你应该就知道了
添加回答
举报
0/150
提交
取消