Я делаю эту систему базы данных гарантии на продукт как небольшой обучающий проект в качестве новой веб-разработки. У меня много проблем с одним из последних больших инструментов, которые я хотел бы иметь. Это кнопка в каждой строке, при нажатии на которую открывается модальное всплывающее окно и текстовое поле с исходным комментарием, установленным в качестве значения. Когда пользователь завершает добавление или изменение комментария, нажимается другая кнопка, и она обновляется (я уверен в этой части).
Эта проблема связана с получением фактического комментария. Я использую аналогичный проект, найденный в Интернете, в качестве руководства. Они использовали JSON для вызова функции php для извлечения данных и установки значений текстового поля для данных. Я попробовал этот подход, и ничего не помогло. Я попытался изменить код, почитать подробнее о JSON, поигрался с другими проектами, и это не сработало. Я также попытался использовать метод onclick и передать параметры на фактической стороне кнопки, но это тоже не сработало. И когда я имею в виду, что это не сработало, я имею в виду, что в журнале консоли было 0 ошибок, поэтому я не уверен, где искать исправления.
Я заставил функцию работать при удалении типа данных: ' JSON ', но поле никогда не было установлено на значение.
Вот несколько блоков кода для справки. Да, это беспорядочно, и да, я знаю, что он подвержен атакам на переходы.
В таблице php файл для создания кнопки для каждого продукта.
if ($row['WarrStatus'] == 'ACTIVE') {
echo '<td><button type="button" class="deleteRow" id="'.$id.'" >Delete</button></td>
<td><button type="button" class="updateRow" id="'.$id.'" >Update</button></td>
<td><button type="button" class="resolveRow" id="'.$id.'" >Resolve</button></td>';
}
Это - это функция js при нажатии кнопки updateRow , выполняется
$(".updateRow").click(function() {
var item_id = $(this).attr("id");
$.ajax({
url:"Actions/fetch.php",
method:"POST",
data:{item_id:item_id},
dataType:"json",
success: function(data) {
document.getElementById("CommentBox") = data.comments //Comments = the data retrieved
modal.style.display = "block"; //Display the modal
}
});
});
Это выборка. php для получения данных json.
if(isset($_POST["item_id"])) {
$query = "SELECT comment FROM inspection.product WHERE TransactionID = '".$_POST["item_id"]."'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_array($result);
echo json_encode($row);
}
?>
и, наконец, это модально.
<div id="myModal" class="modal"
<div class="modal-content"
<span class="close">×</span>
<h2>Update a Comment</h2>
<p id="CustDetails">You are now editing ...</p>
<form method="POST">
<input type ="text" class="CommentBox" id="CommentBox" value=""></input>
<button class="updateCommentbtn" id="updateCommentbtn" value="">Update</button>
</form>
</div>
</div>
Вот что отображается
Таблица для пользователя
Подводя итог, моя проблема заключается в том, что при нажатии кнопки «Обновить» данные не извлекаются с помощью JSON или любых других методов, и я не уверен, почему это так. Любая помощь будет оценена!