我正在尝试使用 jQuery 和 AJAX 来验证用户是否在特定字段中输入了数字,并且他们没有将其留空,我有点困惑为什么我可以这样做,但是不是另一个。
我在 jQuery change()
函数中执行此操作,因此每当他们更改该字段中的值时,它都会在数据库中更新它,而无需刷新整个页面,并且它可以正常工作,直到我尝试使用 isNull()
进行验证。
我将他们的输入保存到一个名为 UserInput
的变量中,并首先检查以确保它是一个数字:
if (!isNaN(UserInput))
效果很好。我还尝试使用以下方法检查并确保它不为空:
if (isNull(UserInput))
Intellisense 为我完成了 isNull()
,就像它为 isNaN()
所做的那样,并且所有内容在 Visual Studio 中都显示良好,编译时没有错误。我也在这里尝试了 isNullOrUndefine() ,得到了类似的结果,智能感知为我完成了它,一切看起来都很好。直到我更改字段中的值,此时它立即给出此错误:
JavaScript 运行时错误:“isNull”未定义。
我不确定为什么它未定义(特别是因为智能感知正在为我完成它)或如何定义它。
我也尝试过这个,因为它似乎涵盖了所有基础,而不仅仅是 isNull()
:
https://stackoverflow.com/a/5515349/8767826
我在 if
中放入了 alert()
,但没有收到错误,但我的警报也没有触发。
最终目标是在客户端离开时将其更改为零,请将其留空。
无论如何,我有点困惑,我感谢任何人可以提供的帮助。
谢谢
最佳答案
不需要 isNull
函数;你可以检查一下
if (UserInput === null)
isNaN
之所以存在,是因为 NaN
与 JavaScript 中的所有其他值不同,它不等于其自身。
但是null
并不意味着该字段为空!如果该字段为空,则其值将为空字符串。检查一下:
if (UserInput === '')
关于JavaScript 运行时错误 : '[MethodName]' is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52977472/