Перейти к содержимому

Фотография
- - - - -

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


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 Hrustix

Hrustix

    Прохожий

    Топикстартер
  • Новичок
  • 0
    1 сообщ.

Отправлено 04 Май 2019 в 17:59

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


  • 0

Спонсор

#2 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1032
    3 818 сообщ.

Отправлено 04 Май 2019 в 21:49

Если правильно понял, то надо привязаться к родителю-форме через closest js, jq.

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

Если надо точное решение, то стоит сначала код выложить на JSFiddle или аналог, там исправим как надо.
  • 0



Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение
Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей