Добро пожаловать на ИТ форум!

После быстрой регистрации у вас будет возможность участвовать в дискуссиях, создавать новые посты, и еще много чего.

Регистрация

Проблема с Jquery в цикле PHP

Статус
Закрыто для дальнейших ответов.

Hrustix

Новичок
Регистрация
04.05.2019
Сообщения
1
foreach ($result as $articles){?>
<p><?echo $articles['title'];?></p>
<p><?echo $articles['content'];?></p>
foreach ($comm as $comment){?>
<div class = "comment_show">
<p><? echo $comment['user'];?></p>
<p><? echo $comment['comm_text'];?></p>
</div>
<form class = "comment_form" action = "send.php" action ="POST">
<input type ="hidden" name ="article_id" value ="<? echo $articles['id']" class = "content_id"
<input type ="text" name ="username" class = "userlogin">
<textarea name ="comment" class = "comm_cont">
<input type ="button" name ="submit" class = "submit">
</form>

<?php
}
}
?>


Код:
$(document).ready(function(){

  $('.submit').on('click', function(e) {
    e.preventDefault();

    var content_id = $('.content_id').val(); 
    var username = $('.userlogin').val();
    var message = $('.comm_cont').val();    
    var url = $('.comment-form').attr('action');

   //e.preventDefault();
    $.ajax({
      url: url,
      type: "POST",
      data: {        
        "post_id": content_id,
        "login": username,
        "comment": message,
        "submit": $(".submit").val()
      },
      cache: false,
      dataType: 'json',      
      success: function(response){  

          $('.comment_text').val('');
          $('.comment_show').append(response.username + response.login + response.comment + response.pubdate);

        }
      });
    });
  });
Подскажите пожалуйста, как исправить код в js чтобы он выполнялся для каждого элемента всех форм, выводящихся в цикле php
 

BaNru

Пацифизжу
Регистрация
13.11.2010
Сообщения
3 847
Если правильно понял, то надо привязаться к родителю-форме через closest js, jq.

Пишу ниже на коленке, не проверяю.
Код:
$('.submit').on('click', function(e) {
    var parentForm = e.target.closest('form');
    var content_id = $(parentForm).find('.content_id').val();
и так далее для всех элементов формы.

Если надо точное решение, то стоит сначала код выложить на JSFiddle или аналог, там исправим как надо.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ