0

私は自分の ASP コードをテストしていて、ハンドラーを正しく起動させましたが、javascript 関数を実行すると未定義のエラーが発生します。

ASP を使用している場合、Javascript が定義されていないポスト バックまたはリンボのような状態で何かが起こっていますか?

テストするには、次のようにテストを行いました。

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

それは構文の問題でしょうか?onchange="return numsOnly();" と言うべきですか 代わりは?アラートは発生することを示していますが、関数 numsOnly(); ページの先頭で定義されています

4

1 に答える 1

0

次のコード行があることに気付きました。

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人.

于 2012-06-18T20:32:52.323 に答える