isNaN根本不工作

时间:2014-11-30 17:53:47

标签: javascript html

所以这是我的HTML:

<table>
<tr>
<td><input type="text" name="q_wow_wod"> </td> <td> <input type="submit" value="Add item" onClick="return validNumber(q_wow_wod) && confirm('Item will be added');" ></td>
</tr>
</table> 

以下是我关联的JavaScript:

function validNumber(zone_txt) {
    if (isNaN(zone_txt) == false) {
        alert("Please, enter a number") ;
        return false ;
    } else {
        return true ;
    }
}

当我使用== false设置if时,它始终会进入elsereturn true)。如果我放== true,它总是会进入ifreturn false) - 无论我在文本框中输入什么内容。这真让我抓狂。发生了什么事?

2 个答案:

答案 0 :(得分:2)

if (isNaN(zone_txt) == false ) {

“如果zone_txt不是数字” “如果zone_txt是数字”

只需使用if (isNaN(zone_txt))即可。接下来,您传递<input>,而不是<input>内的字符串; if (isNaN(zone_txt.value))应该做到这一点。

答案 1 :(得分:0)

您现在正在做的是使用name="q_wow_wod"测试元素,这不是数字。您需要做的是测试其

return validNumber(q_wow_wod.value) && confirm('Item will be added');

假设您之前已在某处定义过var q_wow_wod