0

jqueryuiダイアログを取得してフォームをajaxロードし、フォームをajax経由で送信するのはうまくいきません。

送信されているフォームをキャッチし、代わりにajax呼び出しを介して送信するまで、すべてが機能します。したがって、フォームアクションがトリガーされ、ブラウザがリダイレクトされます。ajax呼び出しが行われることはありません。

私のコードは次のとおりです

$(document).ready(function() {
$('.viewOrder').click(function() {
    $('#displayOrder').load(this.href, [], function() {
        console.log("landed here");

            $('#blah').click(function() {
                console.log("submiting the form via ajax");

                $.ajax({
                    url: "/ajax/orderupdate",
                    type: "GET",
                    data: data,
                    cache: false,

                    //success
                    success: function (data) {
                        console.log("worked:");
                    }
                });
                return false;
            });
    });
    return false;
});

});

.viewOrderは、ajaxがロードされるahrefです。これは正常に機能します。私はここで多くの同様の質問を読みました、そしてload()はリターンhtmlに埋め込まれているスクリプトを実行しないようです、しかし私のリターンコードは純粋なhtmlスクリプトなしです。何か案は?

4

2 に答える 2

1

私見では、クリックの代わりにキャプチャしてみてください。そうすればsubmit、キーボードによる送信も防止でき、問題が解決する場合もあります。

于 2010-09-30T19:25:57.417 に答える
0

イベントはページの読み込み時にバインドされます。ページの読み込み時に、クリックイベントをバインドしているフォームは存在しません。私はlivequeryプラグインを使用していますが、Liveをjquery 4に追加しました。これも使用できます(IEに問題があったため、livequeryに戻りました)

したがって、スクリプトを使用してlivequeryをロードしますhttp://docs.jquery.com/Plugins/livequery

と変更

$('#orderUpdate')。submit(function(){

$( "#orderUpdate")。livequery( "submit"、function(){

于 2010-09-30T19:43:32.420 に答える