powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax Не передается сгенерированный параметр
8 сообщений из 8, страница 1 из 1
ajax Не передается сгенерированный параметр
    #39446432
trom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью ajax подгружаю в тег div, html код в виде тега <select>
При сабмите формы почему то в массиве $_POST не передается параметр с именем сгенерированного <select>

вот php функция которая вызывает javascript который генерирует select

Код: php
1.
2.
3.
function select($html_id) {
    ?><select name="select<?echo $html_id?>" onchange="link(<?echo $html_id?>)">
<?}



вот javscript функция котора подгружает в div тег select
Код: javascript
1.
2.
3.
function link(html_id) {
$('div[name="link"+html_id]').html(responce);
}



вот php функция которая генерирует <select> в div
Код: php
1.
2.
3.
function select2() {
    ?><select name="select2"></select><?
}



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

в браузере нажимаю f12 когда генерируется select у него есть имя, то есть все нормально, а когда сабмитю форму в массиве $_POST этого имени нет

в чем может быть дело ?
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446469
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
>>> При сабмите формы почему то в массиве $_POST не передается параметр с именем сгенерированного <select>
мне когда-то помогла статья Уроки AJAX. Практика POST запросов
Там помимо всего прочего, есть функция getRequestBody, она принимает один аргумент - ссылку на форму, и формирует строку запроса "name1=value1 & name2=value2 & name3...".

А ещё через F12, на вкладке "Сеть", можно посмотреть параметры, которые уходят на сервер. Пример для Мозиллы (в других браузерах, наверное аналогично)
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446485
trom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

Если правильно понял чтобы применить getRequestBody форму нужно сабмитить с помощью ajax, а я пока не хочу так все усложнять

Проверил все с помощью F12 и вкладки Сеть, нужного параметра там тоже нет, там я вижу html где вместо нужного тега select, просто тег div в который этот select должен был подгрузиться

Может дело в том что если элемент появился на странице с помощью javascript то форму нужно сабмитить только с помощью ajax ?
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446493
trom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя странно что форма которая просто вставляет записи в таблицу БД работает нормально, хотя там тоже генерируеться тег select в div, а форма которая изменяет записи в БД как будто не видит сгенерированый select, он на странице есть, а в пост запросе его нет

Немогу понять куда комать, как может пропасть параметр
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446524
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trom,

можно попробовать так:
- сделать простейшую страницу, которая отсылает данные
Код: html
1.
2.
3.
4.
5.
<form action="URL">
  <input name="param1" type="text" value="текст 1">
  <input name="param2" type="text" value="текст 2">
  <input type="submit" value="Отправить"/>
</form>

- убеждаемся в том, что форма отсылает в PHP-скрипт нужный массив данных
- далее потихоньку усложняем страницу, и потом ловим момент, где вылетает.
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446680
trom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

Нашел проблему, параметр с select который генерируется в div передается, ТОЛЬКО если теги <form></form> находятся внутри одной ячейки таблицы то есть внутри <td></td>
А если <form></form> охватывает всю таблицу, то параметр не передается

Почему так ? можно ли как то это исправить ? html таблица мне нужна
или выход только сабмитить форму с помощью ajax ?
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446689
sxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы уверены, что то что ваш select внедряется во внутрь формы?
Вы уверены что у вас не повторяются имена/идентификаторы?
вы уверены что у вас не нарушена структура самого HTML? и вы имеете
<form>
<table>
.......
</table>
</form>
после генерации зайдите в инспектор отладчика браузера после генерации формы (подгрузки асинхронных элементов) и скопируйте сюда все что вы получили в виде HTML всей формы, например, в мозиле можно скопировать выбранный тег и ниже в виде текста HTML как есть после всех манипуляций с DOM
...
Рейтинг: 0 / 0
ajax Не передается сгенерированный параметр
    #39446694
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trom,
да. Тут надо проверить структуру HTML, как посоветовал sxq. Ещё можно воспользоваться on-line валидатором https://validator.w3.org/nu/#textarea

Код: plaintext
>>> или выход только сабмитить форму с помощью ajax
А я только так и делаю   Пользователям не нравится, когда их страница дергается, перерисовывается и т.д. А еще при обновлении страницы, выскакивает сообщение типа " повторно отправить данные на сервер " (лечится доп. кодом)
Поэтому лучше всего использовать ajax.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax Не передается сгенерированный параметр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]