Я не настолько опытен в веб-разработке, поэтому извините за ошибки новичков;)
В HTML я хочу создать динамическое всплывающее окно (div, скрытое с помощью CSS).По нажатию кнопки я выполняю пост-запрос AJAX.Результатом запроса является строка, которая хранится в скрытом поле ввода на странице HTML.
Всплывающее окно содержит таблицу с содержимым, представленным строкой.Однако теперь я хочу получить строку с помощью запроса PHP $ _GET или $ _POST.
В данный момент это не работает, и я не понимаю, почему.Открывая всплывающее окно, я получаю следующие ошибки:
Примечание: неопределенный индекс: popupcontenthidden in ...
Предупреждение: неверный аргумент для foreach () в
HTML:
<div class="popupcontent">
<span class="helper"></span>
<div>
<div class="popupclose">X</div>
<h3>UPDATE DATABASE ENTRY</h3>
<h4>Enter values:</h4>
<table id="popupresult">
<form name='form' action="" method='post'>
<input type='text' name='popupcontenthidden' id='popupcontenthidden'>
</form>
<tr>
<th>Field</th>
<th>Type</th>
<th>Null</th>
<th>Key</th>
<th>Default</th>
<th>Extra</th>
<th>Value</th>
</tr>
<?php
$rows = json_decode($_POST['popupcontenthidden']);
foreach ( $rows as $print ) {
?>
<tr>
<td><?php echo $print->Field; ?></td>
<td><?php echo $print->Type; ?></td>
<td><?php echo $print->Null; ?></td>
<td><?php echo $print->Key; ?></td>
<td><?php echo $print->Default; ?></td>
<td><?php echo $print->Extra; ?></td>
</tr>
<?php } ?>
</table>
</div>
JS:
$.ajax({
type:'POST',
url: '../wp-content/plugins/ars-management/admin/ars-management-admin-ajax.php',
data: {function: "update", entries: entries},
success: function(response) {
var rows = response;
//hand data to html hidden input
document.getElementById("popupcontenthidden").value = rows;
//open popup on click
$(".popupcontent").show();
}
});
Я понимаю, что вторая ошибка происходит, потому что $ряды пустые.Но как я могу решить проблему и получить строку из поля ввода?Я могу подтвердить, что строка правильно сохранена в поле ввода, поэтому все элементы AJAX работают.
Большое вам спасибо!