0

jQueryを介してダイアログボックスにフォームをロードしています

コードは次のようになります

<form class ="form1" action="" method="post" enctype="multipart/form-data" >
...
</form>

jQueryフォームプラグインを使用して、このようなフォームを送信しています

$(".form1").live('submit', function(e) {   

    var options = { 
        target:        '.ajaxMessage',  
        beforeSubmit:  showRequest,  
        success:       showResponse,
        type: 'POST'

    }; 
    alert('test');                          
    $(this).ajaxSubmit(options); 
    return false;                                         
});

  1. AJAXなしでフォームを直接ロードしてからフォームを送信すると、フォームは問題なく送信されます。10回のうち10回は機能します

  2. 2 番目のケースでは、フォームを動的にロードします。フォームのリンクをクリックすると、jquery ダイアログ ボックスにフォームが動的に読み込まれます。フォームの送信をクリックすると、アラートが表示されますが、フォームは送信されません。しかし、うまくいくこともありますが、うまくいかないこともあります。10回中2回は効くと思います。

Firebug コンソールにもエラーは表示されません

Whats問題を見つける方法はありますか

4

1 に答える 1

0

Firebug は通常 (実際にはまったくないと思います)、ajax 呼び出しのエラーを表示しません。代わりに、エラーは ajax リクエストにあります (まだ firebug にあります)。リクエストをクリックしてから、レスポンスをクリックします。

私の推測では、送信しているパラメーターに問題があるか、返されたものに何か問題があると思われます (つまり、ajax が json を予期しているときに html を返すと、成功が決して発生しません)。

また、error:function(jqXHR, textStatus, errorThrown){}` ajaxSubmit パラメータに を渡してみて、何が起こるか見てみましょう。

于 2011-07-05T17:31:38.663 に答える