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

Каким образом можно добавить текст или содержимое в элемент с идентификатором "message" с помощью JavaScript?
  • 21 декабря 2023 г. 17:57
Ответы на вопрос 2
1. Чтобы перезагрузить блок после его удаления и добавления, вы можете использовать функцию `location.reload()`. Это перезагрузит страницу целиком, в том числе и все ее содержимое, включая изменения, сделанные вами.

2. Чтобы добавить текст или содержимое в элемент с идентификатором "message" с помощью JavaScript, вы можете использовать различные методы. Например, вы можете использовать `innerHTML` для изменения содержимого элемента:

```javascript
document.getElementById("message").innerHTML = "Новый текст или содержимое";
```

Этот код найдет элемент с идентификатором "message" и заменит его содержимое на "Новый текст или содержимое". 

Вы также можете использовать `textContent` для добавления текста без обрабатывания HTML-кода:

```javascript
document.getElementById("message").textContent = "Новый текст или содержимое";
```

Оба этих метода позволяют вам изменить или добавить текст или содержимое в элемент с определенным идентификатором с помощью JavaScript.
Первое что надо сделать - нормальные запросы с подготовленными выражениями, а не дырявые инъекции... 

Второе - возвращать нормальные данные с понятным (машине) результатом операции, а не текстовый поток сознания. Для этого существует json, который обычно в подобных ситуациях содержит: Код ошибки, текст ошибки, и сообщение для вывода, где первое поле содержит цифру (обычно просто 1 в случае ошибки или 0 в случае успеха), второе поле является необязательным, но сильно облегчает дебаг, и третье - как раз может содержать ваше словесное описание.

Далее, по результату выполнения операции на бэкенде, исходя из данных полученных обратно аяксом уже решаем что делать, если ошибка - ничего не трогаем, если ошибки нет - добавляем/удаляем строки в таблице. Удаление - банально что-то типа del_button.closest('tr').delete() (емнип). С добавлением сложнее, но в целом ничего особенного, можно засовывать в конец списка, так как не вижу там у вас никакой сортировки при выборке. Строку формируете либо в колбэке, либо можно возвращать готовую в дополнительном поле возвращаемого жсона, и уже оттуда только добавить готовую новую ноду внутрь таблицы.

Так же, учитывая что новые элементы не будут работать при добавлении, так как на них не навешены слушатели, либо каждый раз перезапускать навешивание листенеров, либо нормально сделать делегирование для кнопки удаления.
Похожие вопросы