2012-02-27 14 views
0

私はajaxでいくつかのコンテンツをロードしており、ロードされたばかりの送信ボタンを作成するために.liveを使用しています。この.live-callの中で.post-callをしたい。これは動作しません。この.post-callの直前にアラート(...)を付けると、アラートが機能します。.live()内の.post()を呼び出す

live()の内部で.post()を呼び出すためのハックはありますか?私が理解しているように、次のコードは.post呼び出しを呼び出さないでしょう。この仕事をするためのハックはありますか?

$('#addeventsubmit').live("click", function(){ 

     $.post('url...', {data:...}, 
      function(data){ 
       alert("test"); 
      }, 'json'); 
    }); 

編集:フォームを送信しようとしていません。私はボタンをクリックしていて、配列の中にいくつかの値を取得しています。これを配列にラップし、それを.postを通して送信します。私は.ajaxでそれをやろうとしましたが、それが解決策に見えました。

+4

最後にfalseが返されます。 – karim79

+0

duplicate http://stackoverflow.com/questions/6865455/jquery-ajax-submission-inside-live-not-working-in-firefox-only – scibuff

+0

エラーや成功のセクションを使用できるように$ .ajaxに切り替えてからエラーが発生しているかどうかを確認できます。完了したら、必要に応じて$ .postを使用して簡単にすることができます。 – SpaceBison

答えて

0

有効なjsonを取得していますか?火かき棒(またはあなたが使用しているもの)のネットタブを開き、リターンを調べます。

{data:}を使用して実際にデータ要素を指定しているかどうかは、コードからはわかりません。私はあなたのことを疑っていますが、それはちょうどjqueryがシリアル化してURLに投稿するオブジェクトであるはずです。

0

ポストと間違って何もありません、あなたはデフォルトのブラウザを防ぐために、クリックハンドラからfalseを返す必要がフォーム

0

の提出フォームの提出にreturn false;を追加するために持っている:

前に(live(...)を使用して)jQueryの1.7:(on(...)を使用して)

$('#formID').live('submit', function(){return false;}); 

ポストjQueryの1.7:

$(document).on('submit', '#formID', function(){return false;}); 
関連する問題