88mm52080
2016-04-07 18:03:17
?if (j>6||j<1||typeof(j)!="number") {? ? ? ? ? ? ? ? alert("請輸入一個1到6之間的數(shù)值“);?}? ? ? ? ? ? ? ? else{? ? ? ? ? ? ? ?document.write("hahahaha");}為什么我在輸入框輸入里輸入的數(shù)值在1到6之間還是會彈出提示呢?
6 回答

Running_v
TA貢獻(xiàn)1條經(jīng)驗 獲得超1個贊
網(wǎng)頁input默認(rèn)輸入的是字符串,你需要將input的值手動轉(zhuǎn)換下,parseInt(inputValue).這是基礎(chǔ)問題,come on ,baby

ruibin
TA貢獻(xiàn)358條經(jīng)驗 獲得超213個贊
這涉及到j(luò)s輸入的一個本質(zhì)問題:js所有輸入框輸入的數(shù)據(jù)都是字符串。所以typeof (j) != "number"肯定是為true的,因此條件總是成立。如果不相信,你可以用任一一個試試。例如你輸入的是5,可實際獲取到的是“5”。

林方清i
TA貢獻(xiàn)14條經(jīng)驗 獲得超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);//字符串轉(zhuǎn)換成數(shù)值 if?(isNaN(num))?{//判斷num是不是一個數(shù)值 alert("請輸入數(shù)字"); }?else?{ if?(num?<?1?||?num?>?6)?{ alert("請輸入1-6之間的數(shù)字"); } } }
能理解這段,你應(yīng)該就知道了
添加回答
舉報
0/150
提交
取消