На моем сайте у меня есть список элементов и кнопка редактирования рядом с ними или опция для создания нового элемента.
Когда вы нажимаете edit, я делаю запрос через AJAX в другой файл PHP, который возвращаетформа редактирования, предварительно заполненная деталями элемента, который вы щелкнули для редактирования.
Если вы выберете опцию добавления нового элемента, он выполняет еще один AJAX-вызов в том же файле и возвращает форму без заполненной информации..
Тем не менее, часть формы представляет собой текстовый редактор WYSIWYG, созданный в виде фрейма:
HTML:
<iframe name='richTextField' id='wysiwyg'></iframe>
Сценарий:
richTextField.document.designMode = 'On';
Так что это прекрасно работает, когда я хочу создать новый элемент, он загружает форму, и я могу отредактировать все, что захочу, в своем iframe.
Однако, когда я хочу отредактировать существующий элемент, я добавляюатрибут src
для iframe, например:
src='myFile.php?id=$edit_id'
Исходный файл довольно прост, всего пара строк, но он использует переменную $_GET
для идентификатора элемента, который вы пытаетесьредактировать.Он запрашивает БД для этого идентификатора и просто отображает содержимое следующим образом:
<?php
if (isset($_GET['id'])) {
$ID = $_GET['id'];
$params = [$ID];
$sql = "SELECT * FROM tableWHERE id=?";
$stmt = DB::run($sql,$params);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$content = $row["content"];
}
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php echo $content; ?>
</body>
</html>
Это загружает нужный мне контент в iframe, как и ожидалось, но я не могу его редактировать.
ЯЯ уверен, что это как-то связано с тем, как я использую AJAX для загрузки файла, который получает что-то из другого файла с переменной $ _GET, но он загружает контент так, как я хочу, я просто не могу его редактировать.
Будем весьма благодарны за любые идеи или объяснения, почему это происходит, или любые предложения.