-2

jQuery がトリガーされるたびにエラーが表示500 Internal Server Errorされます。以下のコードがこれを引き起こしている理由を誰か知っていますか?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="../meta/js/jquery-1.7.2.js"></script>
<script>

    $(document).ready(function() {
        $('#form1').submit(function(e){
            e.preventDefault();
            alert('I clicked it');
        });
    });

</script>
</head>
<body>

<form name="form1" method="post">
    <button id="button">grab user data</button>
    <select></select>
</form>

</body>
</html>
4

5 に答える 5

3

この変数のために推測します:

<%=button.ClientID %>

エラーをスローする他の何かを意味するものは他にありません(表示されています)。

「jQueryがトリガーされる」とはどういう意味か明確にできますか?それは「クリック」を意味しますか?または、このページをロードするだけです(後で想定しました)

于 2012-04-25T20:30:39.873 に答える
1

私はそれがこの行でエラーを与えていると思います:

$('#<%=button.ClientID %>')

代わりに値をハードコーディングしてテストします。

$('#buttonID')
于 2012-04-25T20:33:03.647 に答える
0

あなたが望むものを達成するために、これは仕事をします:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
    $(document).ready(function() {
         $('#myButton').on('click',function(){
            alert("i clicked it");
          });
    });
</script>
</head>
<body>
    <button id="myButton">Click Me!</button>
</body>
</html>

$(document).readyページがレンダリングされた直後にコードを実行するために使用され$('myButton')、ID「myButton」を持つ要素を取得します。次に、「on」メソッドを使用して必要なイベントをアタッチします。この場合、 「クリック」イベントの場合、そのアクションで実行したいコードを配置する無名関数を指定する必要があります。

于 2012-04-25T20:43:44.787 に答える
0

ボタンは action="" のタグ内にあります。これにより、「/」へのポストバックが発生します。サーバーがこれを正しく処理しない場合、内部サーバー エラーが発生します。

アラートだけを表示したい場合は、jQuery イベント オブジェクトで preventDefault を呼び出すことができます。以下の例を参照してください。

$(document).ready(function() {
     $('#<%=button.ClientID %>').click( function(e) {
        e.preventDefault();
        alert("i clicked it");
     });
});

編集: 私が上に書いたことを忘れてください。うまくいきません。代わりに、フォームで送信イベントを使用してください。このような:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <script src="@{'/public/javascripts/jquery-1.6.4.min.js'}" type="text/javascript" charset="${_response_encoding}"></script>
    <script>
        $(document).ready(function() {
            $('#form1').submit(function(e){
                e.preventDefault();
                alert('I clicked it');
            });
        });


    </script>
</head>
<body>

<form id="form1" method="post" action="">
    <button id="button">grab user data</button>
    <select></select>
</form>

</body>
</html>
于 2012-04-25T20:35:24.287 に答える
-1

submitイベントを添付して#form1いますが、フォームにはIDがなく、名前しかありません。フォームを名前で選択する$("form[name='form1']")か、ID を指定する必要がありますid="form1"

于 2015-11-18T13:50:09.527 に答える