ASP控件触发JavaScript,但我的函数未定义

asp control fires javascript but my function is undefined

本文关键字:我的 函数 未定义 JavaScript 控件 ASP      更新时间:2023-09-26

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

在使用ASP时,Javascript未定义的回发或类似边缘的状态是否发生了什么?

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

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

会不会是语法问题? 我应该说onchange="return numsOnly();"吗? 警报显示它确实触发了,但函数 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 测试,因为它希望执行不存在的东西,并将右括号作为代码的一部分读取,并且是一个错误。

通过添加以下 2 个字符 { 和 } 可以轻松解决。

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

问题解决了。很抱歉这个问题。 将+1帮助我指出方向的人,因为最终我正在寻找一些东西,并注意到一个智能错误,证实了他们所说的话。