1

同じフォームを繰り返してajax経由で投稿するビューでは、ajaxが最初のフォームでは機能しているが、2番目のフォームからは機能していないことが懸念されます。以下は使用しているコードです。

<form action="http://localhost/comment" method="post" accept-charset="utf-8">
<input type="text" name="comment_text" value="" id="comment_text" size="35" class="comment_text">
<input type="submit" id="post_comment" name="post_comment" value="submit comment" class="post_comment" >
</form>
<form action="http://localhost/comment" method="post" accept-charset="utf-8">
<input type="text" name="comment_text" value="" id="comment_text" size="35" class="comment_text">
<input type="submit" id="post_comment" name="post_comment" value="submit comment" class="post_comment" >
</form>
<form action="http://localhost/comment" method="post" accept-charset="utf-8">
<input type="text" name="comment_text" value="" id="comment_text" size="35" class="comment_text">
<input type="submit" id="post_comment" name="post_comment" value="submit comment" class="post_comment" >
</form>
<form action="http://localhost/comment" method="post" accept-charset="utf-8">
<input type="text" name="comment_text" value="" id="comment_text" size="35" class="comment_text">
<input type="submit" id="post_comment" name="post_comment" value="submit comment" class="post_comment" >
</form>

<script type="text/javascript">
$('.post_comment').click(function() {
  var form_data = {
    csrfsecurity: $("input[name=csrfsecurity]").val(),
    post_text: $('.comment_text').val()    
  };

  $.ajax({
    url: "<?php echo site_url('/comment'); ?>",
    type: 'POST',
    data: form_data,
    success: function(response){
      $(".home_user_feeds").html("markUpCreatedUsingResponseFromServer");
    }
  });
  return false;
});
</script>
4

1 に答える 1

0

あなたの問題はpost_text: $('.comment_text', this).val()、最初に選択された の値を取得する.commentことです。必要なのは.comment、現在のフォームです。試す

<script type="text/javascript">
$('.post_comment').click(function() {
  var form_data = {
    csrfsecurity: $("input[name=csrfsecurity]").val(),
    post_text: $(this).closest('form').find('.comment_text').val()    
  };

  $.ajax({
    url: "<?php echo site_url('/comment'); ?>",
    type: 'POST',
    data: form_data,
    success: function(response){
      $(".home_user_feeds").html("markUpCreatedUsingResponseFromServer");
    }
  });
  return false;
});
</script>

また、要素 ID は一意である必要があります。

于 2013-03-04T18:41:29.713 に答える