JavaScript函数未定义错误(但已定义)
我有一个JavaScript函数,可以在blur上启动。奇怪的是,在我第一次运行它时,它工作得很好,从那以后,我一直收到一个错误,说JavaScript函数没有定义——它停止运行。我在谷歌上搜索过类似的问题,但没有一条建议能够解决这个问题。Asp.NET3.5WebForms,如果有必要的话。我已经包括了一些额外的函数和代码行,它们可能与问题无关。我遇到的问题是updateFiscalGrid,一个大函数。绑定到事件的HTML位于函数下方JavaScript函数未定义错误(但已定义),javascript,html,asp.net,webforms,Javascript,Html,Asp.net,Webforms,我有一个JavaScript函数,可以在blur上启动。奇怪的是,在我第一次运行它时,它工作得很好,从那以后,我一直收到一个错误,说JavaScript函数没有定义——它停止运行。我在谷歌上搜索过类似的问题,但没有一条建议能够解决这个问题。Asp.NET3.5WebForms,如果有必要的话。我已经包括了一些额外的函数和代码行,它们可能与问题无关。我遇到的问题是updateFiscalGrid,一个大函数。绑定到事件的HTML位于函数下方 <%@ Page MasterPageFile="
<%@ Page MasterPageFile="~/MasterPages/NPRPage.Master" CodeBehind="NPRFundingApplication.aspx.cs" Inherits="Tea.Hcf.Web.Secured.NPRFundingApplication" AutoEventWireup="true" Language="C#" EnableEventValidation="true" MaintainScrollPositionOnPostback="true" %>
<%@ Register TagPrefix="ew" Namespace="eWorld.UI" Assembly="eWorld.UI" %>
<%@ Register TagPrefix="hcf" Namespace="Tea.Hcf.Web" Assembly="Tea.Hcf.Web" %>
<%@ Register Src="../Controls/NpCdnSearch.ascx" TagName="NpCdnSearch" TagPrefix="np1" %>
<%@ Register Src="../Controls/NpStudentRoster.ascx" TagName="NpStudentRoster" TagPrefix="np2" %>
//
使用浏览器开发工具查看是否可以从控制台手动调用该函数。如果仍然未定义函数,请执行以下操作:
- 检查打字错误
- 如果使用母版页,请确保没有将脚本页的引用放在容器标记中(容器标记会被实际页面内容覆盖,这是个人经验lol)
- 清除缓存并重新加载页面
- 很可能这就是原因:
作为简短的回答:“永远不要使用userscript中的.onclick()或类似属性[onblur()”让我回答这个问题的是,我的命名空间中有一个
空函数
当我调用该函数时,出现了一个导致整个页面停止工作的错误
TypeError: MyNamespcae.myFunction is not a function
因此,不要创建空函数,至少添加一个类似void(0)的语句;或返回null
这也是因为我试图调用一个具有相同变量名的函数
var fun=fun()
在我的例子中,我没有在函数中键入变量名
var myVar = "";
但在函数中,它在“MyVar”中键入了包含空格的内容,然后我在控制台上看到下面的消息
“函数xxx未定义”
在我的情况下(我使用的是asp:UpdatePanel
),如果脚本仅在异步回发后出现在页面中,则任何JavaScript或浏览器控制台(未定义的
)都不会执行该脚本,也无法访问该脚本,因此,我切换任何按钮
结果,在返回到同步返回后出现一个新脚本
window.addEventListener('DOMContentLoaded', function() {callFUnction()});
这发生在我身上,因为我已经有了一个名为reset的var,函数名也是reset
var reset = document.querySelector();
function reset() {
};
以防有人有同样的问题
我的问题是,我有await
关键字,但函数声明前面没有async
。它导致所有函数抛出未定义的错误。尝试从
标记中删除type=“text/javascript”
。我尝试将函数绑定到窗口对象,使其工作
window.func=arg=>console.log('=\\')
我经常遇到这种错误
首先,我会检查我是否调用了正确的函数,如果一切正常,那么我会执行缓存清除并重新加载,每次都对我有效
希望这能奏效……:) 我只是想说我解决了。这是一个额外的括号i@Marvin,我的第二点是要确保母版页的asp:contentplaceholder标记中没有代码,因为这只是一个占位符标记,一旦站点按所需页面的实际内容呈现,它就会被覆盖。如果它与控制台一起工作,但不在页面上工作呢?嗨!你检查代码了吗?我是说在浏览器上。可能javascript函数
中的某个变量集导致脚本出错,使函数“未定义”,我解决了这个问题!这是一个额外的)嗨,你能标记一个答案/添加你自己的吗?如果你能描述更多关于答案的信息会更好。
var reset = document.querySelector();
function reset() {
};