为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮看下这段代码有什么问题?

求大神帮看下这段代码有什么问题?

88mm52080 2016-04-07 18:03:17
 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

查看完整回答
1 反对 回复 2016-04-08
?
ruibin

TA贡献358条经验 获得超213个赞

这涉及到js输入的一个本质问题:js所有输入框输入的数据都是字符串。所以typeof (j) != "number"肯定是为true的,因此条件总是成立。如果不相信,你可以用任一一个试试。例如你输入的是5,可实际获取到的是“5”。

查看完整回答
1 反对 回复 2016-04-07
?
qq_ZD_1

TA贡献1条经验 获得超2个赞

typeof(j)!="number"  typeof运算符计算得出的数字肯定不等于字符,所以条件一直为真

查看完整回答
2 反对 回复 2016-04-07
?
林方清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之间的数字");
		}
	}
}

能理解这段,你应该就知道了

查看完整回答
反对 回复 2016-04-08
?
走向流沙

TA贡献45条经验 获得超23个赞

好想知道你是怎么输入的= = 贴全代码,才好查

查看完整回答
反对 回复 2016-04-07
?
Caballarii

TA贡献1123条经验 获得超629个赞

你确定能弹出提示?alert("请输入一个1到6之间的数值“)这句后半个引号和括号都是中文的

查看完整回答
反对 回复 2016-04-07
  • 6 回答
  • 0 关注
  • 1535 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信