@lesmanora

Как передать значение с таблицы в форму обратного звонка?

На сайте есть таблица с товарами, которая добавляется динамически, напротив каждого товара есть кнопка "заказать", при нажатие которой всплывает модально окно с формой.
Нужно передать значение с таблицы в форму.
В данный момент выводит все значения:

<?php

										$link1 = mysqli_connect($db_host, $db_user, $db_password, $db_database)
										or die("Ошибка " . mysqli_error($link1));
										$query1 ="SELECT * FROM categorys WHERE id='$id' ";
										$result1 = mysqli_query($link1, $query1) or die("Ошибка " . mysqli_error($link1));

										if (mysqli_num_rows($result1) > 0) {
											$query1 ="SELECT * FROM tovar WHERE products_id='$id' ";
											$result1 = mysqli_query($link1, $query1) or die("Ошибка " . mysqli_error($link1));

											if (mysqli_num_rows($result1) > 0) {
												$row1 = mysqli_fetch_array($result1);

												do {
													echo '		
								
									<tr>
										<td data-label="">'.$row1["tovar"].'</td>
										<td data-label="">'.$row1["many"].'</td>
										<td data-label=""><a class="cart" data-toggle="modal" data-target="#feedbackFormModal" ><img src="img/cart.png" /></a></td>
									</tr>
									
									';
									}
									while ($row1 = mysqli_fetch_array($result1));
									}	}

									?>


Модальное окно:

spoiler

<form class="form" action="../order.php" method="post">
							
							<?php

							$link = mysqli_connect($db_host, $db_user, $db_password, $db_database)
							or die("Ошибка " . mysqli_error($link));
							
								$query ="SELECT * FROM tovar WHERE id='$id' ";
								$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link1));

								if (mysqli_num_rows($result) > 0) {
									$row = mysqli_fetch_array($result);

									do {
										echo '					
										<p>'.$row["tovar"].'</p>	
		';
		}
		while ($row = mysqli_fetch_array($result));
		}

		?>  
						
        <p>Ваше имя</p>
        <input name="phone" type="text" id="name" placeholder="Имя" required="">
        <p>Ваш номер телефона</p>
       <input name="phone" type="text" id="phone" placeholder="Телефон" required="">
       <button class="pointer">Перезвоните мне</button>
        	<p><input class="ankcheckbox" name="checkbox" type="checkbox" checked="" required="">Я даю свое согласие на обработку персональных данных</p>
        	</form>

  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@fixeri
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		.modal {
			display: none;
			position: absolute;
			top: 100px;
			left: 100px;
			background-color: lightyellow;
		}
	</style>
</head>
<body>
	<div class="modal">
		name: <input type="text" name="name"><br>
		email: <input type="text" name="email"><br>
	</div>

	<table>
		<tr>
			<td class="name">Vladimir</td>
			<td class="email">3x3er@gmail.com</td>
			<td><a class="cart">Заказать</a></td>
		</tr>
		<tr>
			<td class="name">Petor</td>
			<td class="email">32x3er@gmail.com</td>
			<td><a class="cart">Заказать</a></td>
		</tr>
		<tr>
			<td class="name">Kldun</td>
			<td class="email">11r3er@gmail.com</td>
			<td><a class="cart">Заказать</a></td>
		</tr>
		
	</table>

	<script type="text/javascript">
		"use strict";

		let modal = document.querySelector(".modal");

		let table = document.querySelector("table");
		table.addEventListener("click", (e) => {
			let item = e.target;
			if(!item.classList.contains("cart")) return false;
			let tr = item.parentElement.parentElement;
			let name = tr.querySelector(".name");
			let email = tr.querySelector(".email");

			modal.querySelector("input[name='name']").value = name.textContent;
			modal.querySelector("input[name='email']").value = email.textContent;

			modal.style.display = "block";
		});
	</script>
</body>
</html>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект