0

私は次のようなことをしています-:

$.each(data2, function(key2, val2) {
    $('#posts').append('<div class="send_comment" align="right">');
    $('#posts').append('<input type="hidden" class="com_post_id" value="'+i+'"><br /\>');
    $('#posts').append('Author: <input type="text" class="com_author"><br /\>');
    $('#posts').append('Img: <input type="text" class="com_img"><br /\>');
    $('#posts').append('Text: <input type="text" class="com_text"><br /\>');
    $('#posts').append('<button class="new_comment">Send</button>');
    $('#posts').append('</div>');
});

これらのフィールドを で送信するにはどうすればよい$.postですか? で$(this)、クリックされた要素を取得できますが、その後は?

4

3 に答える 3

0

data = $(this).closest('form').serialize()

于 2012-05-04T19:13:02.710 に答える
0

動的に挿入される要素であるため、次を使用して機能をバインドする必要がありますjQuery on

  $(function(){
      $(".send_comment").on("click",".new_comment",function(e){
         e.preventDefault();
         var item=$(this);
         var postId=item.parent().find(".com_post_id");   
         var author=item.parent().find(".com_author");  
         var msg=item.parent().find(".com_text");  

         $.post("yourPage.php", { id : postId, author:author ,msg:msg },function(result){
             //do whatever with result
              alert(result);
         });

      });
    });

http://api.jquery.com/on/

jQueryonは、現在および将来の要素で動作します。

于 2012-05-04T19:15:24.787 に答える
0

フォームからデータを送信する方法の良い例として、jqueryui のサイトのモーダル フォームの例を常に見つけました: http://jqueryui.com/demos/dialog/#modal-form

基本的に、フィールド ID を指定してから、次のようにします。

var author = $( "#author" ),
    image = $( "#image" ),
    text = $( "#text" ),
    allFields = $( [] ).add( author ).add( image ).add( text );

次に、投稿を使用します。

$.post("your_url_that_processes_data",allFields, function(data){ 
   // do something with data 
});

わずかに異なる複数のフォームがある場合、それを行う方法はたくさんあります。アクション URL を変更するか、何らかの方法で DOM 要素から「id」を取得することをお勧めします。おそらく、フォームIDを次のように変更できます:"form-".idスクリプトで、送信する前にそれを読んでください。

より詳細なユースケースをサポートできる可能性はありますか?

于 2012-05-04T19:19:45.260 に答える