所以这是我的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时,它始终会进入else
(return true
)。如果我放== true
,它总是会进入if
(return false
) - 无论我在文本框中输入什么内容。这真让我抓狂。发生了什么事?
答案 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
。