Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript函数未定义错误(但已定义)_Javascript_Html_Asp.net_Webforms - Fatal编程技术网

JavaScript函数未定义错误(但已定义)

JavaScript函数未定义错误(但已定义),javascript,html,asp.net,webforms,Javascript,Html,Asp.net,Webforms,我有一个JavaScript函数,可以在blur上启动。奇怪的是,在我第一次运行它时,它工作得很好,从那以后,我一直收到一个错误,说JavaScript函数没有定义——它停止运行。我在谷歌上搜索过类似的问题,但没有一条建议能够解决这个问题。Asp.NET3.5WebForms,如果有必要的话。我已经包括了一些额外的函数和代码行,它们可能与问题无关。我遇到的问题是updateFiscalGrid,一个大函数。绑定到事件的HTML位于函数下方 <%@ Page MasterPageFile="

我有一个JavaScript函数,可以在blur上启动。奇怪的是,在我第一次运行它时,它工作得很好,从那以后,我一直收到一个错误,说JavaScript函数没有定义——它停止运行。我在谷歌上搜索过类似的问题,但没有一条建议能够解决这个问题。Asp.NET3.5WebForms,如果有必要的话。我已经包括了一些额外的函数和代码行,它们可能与问题无关。我遇到的问题是updateFiscalGrid,一个大函数。绑定到事件的HTML位于函数下方

<%@ 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() {
      };