首页 > 解决方案 > JavaScript 运行时错误:“[MethodName]”未定义

问题描述

我正在尝试使用 jQuery 和 AJAX 来验证用户是否在特定字段中输入了一个数字,并且他们没有将其留空,我有点困惑为什么我似乎可以做一个,而不是另一个.

我在 jQuerychange()函数中执行此操作,因此每当他们更改该字段中的值时,它会在数据库中更新它而不刷新整个页面,并且它工作正常,直到我尝试使用isNull()验证。

我将他们的输入保存到一个名为的变量中UserInput,并首先检查以确保它是一个数字:

if (!isNaN(UserInput))

效果很好。我也在尝试使用以下方法检查并确保它不是空的:

if (isNull(UserInput))

IntellisenseisNull()对我来说就像它一样完成,isNaN()并且在 Visual Studio 中一切都很好,它编译没有错误。我也在isNullOrUndefined()这里尝试过类似的结果,智能感知为我完成了它,一切看起来都很好。直到我更改字段中的值,此时它立即给我这个错误:

JavaScript 运行时错误:“isNull”未定义。

我不确定为什么它是未定义的(特别是因为智能感知正在为我完成它)或者如何去定义它。

我也试过这个,因为它似乎涵盖了所有的基础,而不仅仅是isNull()

https://stackoverflow.com/a/5515349/8767826

alert()我在里面放了一个if,我没有收到错误,但我的警报也没有触发。

最终目标是让它在客户端变为零,如果他们离开确实让它留空。

无论如何,我有点难过,我很感激任何人都可以提供的帮助。

谢谢

标签: javascriptjqueryajax

解决方案


不需要isNull函数;你可以检查

if (UserInput === null)

isNaN存在是因为NaN与 JavaScript 中的所有其他值不同,它不等于自身。

但这null并不意味着该字段是空白的!如果该字段为空,则其值为空字符串。改为检查:

if (UserInput === '')

推荐阅读