我已經在很多例子中看到了JavaScript的這一點,但我無法得到這個爲我工作。我必須忽視的東西,所以我將不勝感激有種靈魂幫助我在這裏,因爲我是新來的JavaScript:只有當我輸入引號時,爲什麼isNaN對於字符串的表單輸入爲真?
spend=eval(form.spend.value);
if(isNaN(form.spend.value)) {
alert('I am not a number');
}
以上形式的輸入是從收集:
<input type=text name=spend value="" size=6 STYLE="background-color: #EDEDE8;">
如果我進入abc作爲輸入,警報我不是一個數字不顯示。如果我輸入帶有引號的「abc」,它會顯示警報。
我檢查輸入的形式,只允許用戶輸入數字。只有數字應該被接受。謝謝!
編輯:花費是美元金額。所以它需要能夠接受數量如123.45。編輯2:對不起,num確實是form.spend.value。
您應該使用[parseInt函數(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt)或[parseFloat](https://developer.mozilla.org/en/的JavaScript /參考/ Global_Objects/parseFloa t),而不是'eval'。 – 2012-07-31 09:15:31
@JamesMcLaughlin:或者(通常更合適)'Number(form.spend.value)'。 – Jon 2012-07-31 09:16:26
感謝您的回覆,詹姆斯。對不起,我應該提到的數字是美元金額(美國),如123.45。那麼不會parseInt去掉兩位小數嗎?謝謝! – 2012-07-31 09:16:52