asp控件触发javascript,但我的函数未定义

asp控件触发javascript,但我的函数未定义,javascript,function,undefined,Javascript,Function,Undefined,我正在测试我的ASP代码,并让处理程序正确启动,但在执行javascript函数时,它给出了一个未定义的错误 当使用ASP时,Javascript未定义的post-back或limbo-like状态是否有问题 为了测试,我的测试是这样进行的: <asp:textbox runat="server" onchange="alert('this is a test'); numsOnly();"></asp:textbox> 可能是语法问题吗?我应该说onchange=re

我正在测试我的ASP代码,并让处理程序正确启动,但在执行javascript函数时,它给出了一个未定义的错误

当使用ASP时,Javascript未定义的post-back或limbo-like状态是否有问题

为了测试,我的测试是这样进行的:

<asp:textbox runat="server" onchange="alert('this is a test'); numsOnly();"></asp:textbox>

可能是语法问题吗?我应该说onchange=returnnumsonly;相反警报显示它确实会触发,但功能仅限于numsOnly;是在页面的页眉中定义的

我注意到我有以下代码行:

if (x[11] == "top" && x[12] == "left") { $("#toggle_1").attr("checked", "true"); }
        else if (x[12] == "top" && x[11] == "middle") { $("#toggle_2").attr("checked", "true"); }
        else if (x[12] == "top" && x[11] == "right") { $("#toggle_3").attr("checked", "true"); }
        else if (x[12] == "middle" && x[11] == "left") { $("#toggle_4").attr("checked", "true"); }
        else if (x[12] == "middle" && x[11] == "middle") { $("#toggle_5").attr("checked", "true"); }
        else if (x[12] == "middle" && x[11] == "right") { $("#toggle_6").attr("checked", "true"); }
        else if (x[12] == "bottom" && x[11] == "left") { $("#toggle_7").attr("checked", "true"); }
        else if (x[12] == "bottom" && x[11] == "middle") { $("#toggle_8").attr("checked", "true"); }
        else if (x[12] == "bottom" && x[11] == "right") { $("#toggle_9").attr("checked", "true"); }
        else alert("None of the alignments were matched");
我还注意到警告声明被注释掉了,因为我现在不需要一直知道这些信息。 它看起来像:

else if (x[12] == "bottom" && x[11] == "right") { $("#toggle_9").attr("checked", "true"); }
else //alert("None of the alignments were matched");
它没有通过javascript测试,因为它希望执行一些不存在的东西,并将右括号作为代码的一部分读取,这是一个错误

通过添加以下两个字符{和}可以轻松解决此问题

else if (x[12] == "bottom" && x[11] == "right") { $("#toggle_9").attr("checked", "true"); }
    else { alert("None of the alignments were matched"); }

问题解决了。很抱歉这个问题。Will+1帮助我指明了方向,因为最终我在寻找某样东西,并注意到一个intellisense错误,这证实了他们所说的。

如果浏览器说该函数未定义,则该函数未定义。这可能是因为它的声明不是全局的,也可能是由于函数声明的JavaScript块中的错误。如果在元素上调用numsOnly内联,则必须在全局范围内定义它;i、 在窗口对象上。您已标记此asp经典,但它似乎是asp.net;如果是这样,您应该重新标记以获得正确的受众。你所拥有的应该有用;您需要使用页面渲染输出的适当部分编辑问题,我将重新标记它。我会仔细检查范围,看看发生了什么,并在收到更多信息时发布。范围已修复,问题已解决。没有和括号的else导致错误+1给克里斯和波蒂,让波蒂沿着黄砖路走。