0

jQuery 1.6次のようなものを使用してフォームを送信しています。

jQuery('form.AjaxForm').submit( function() {

    $.ajax({
        url     : $(this).attr('action'),
        type    : $(this).attr('method'),
        dataType: 'json',
        data    : $(this).serialize(),
        success : function( data ) {                    
                    alert("success");   
                  },
        error   : function( xhr, err ) {
                    alert("error");                     
                  }
    });

    return false;
});

上記のjQueryコードは私にとって完璧に機能しています。

しかし、今の問題は、私のフォームが Web ページに動的に追加されることです。その場合、上記のコードは機能しません。関数も試し.live()ましたが、それでもうまくいきません:

// Ajax Forms
jQuery('form.AjaxForm').live( 'submit', function() {            
    // using jquery $.ajax() here;
    return false;
});

.live()関数がフォーム送信イベントで機能しない理由がわかりません。

何か案が ??

ありがとう

4

1 に答える 1

1

セットアップに何か問題があるに違いありません.jQueryは正常に動作し、クラス名を再確認し、DOM準備完了( $(function() {}); )およびすべての通常のテストの後にjQueryが呼び出されることを確認してください.

動的に追加されたフォームを操作する例については、以下のリンクを参照してください。

http://jsfiddle.net/m9VVR/

于 2012-04-14T21:40:13.047 に答える