0

ajaxを介してポップオーバーにロードするフォームがあります。フォームは次のように定義されます。

<form id="generate_form" class="form" accept-charset="UTF-8" action="/tokens/create" method="POST">

フォーム送信をトラップし、代わりにAJAXを使用してデータを送信したかったのです。そこで、次のスクリプトを追加しました。

  $(document).ready(function () {
    $(this).on('submit','#generate-form', function (e) {
      alert('trapped?');
      return false;
    });
  });

ただし、これを試してみると、フォームイベントはトラップされません。つまり、アラートダイアログが表示されません。私は何か間違ったことをしていますか?

4

3 に答える 3

3

閉じ括弧が 2 つないため、コードが壊れている可能性があります

  $(document).ready(function () {
    $(this).on('submit','#generate_form', function (e) {
      alert('trapped?');
      return false;
    }); // <-- added closing parentheses
  }); // <-- added closing parentheses
于 2012-11-12T15:24:23.543 に答える
3

つづりを間違え"#generate-form"て (ダッシュではなくアンダースコア)、括弧をいくつか忘れました:

$(document).ready(function () {
    $(this).on('submit', '#generate_form', function (e) {
        alert('trapped?');
        return false;
    });
});
于 2012-11-12T15:28:08.277 に答える
1

ほとんど..:{D

$('#generate_form').on('submit', function(e) {

    alert('trapped?');

    e.preventDefault();
    return false;
});

また、 jQueryの.on()ドキュメントを確認することをお勧めします-そこには多くの有用な例があります。

于 2012-11-12T15:23:55.670 に答える