javascript и submit с новыми контролами (не хочет новые контролы замечать)

Модератор: Модераторы разделов

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

javascript и submit с новыми контролами

Сообщение BaBL »

В общем трабла возникла. На странице с формой есть div, в который уже после загрузки страницы через innerHTML javascript'ом помещается набор чекбоксов, надо заставить форму увидеть эти чекбоксы при событии submit. Иначе отправляются только сразу созданные контролы, а чекбоксы просто игнорируются (в $_POST их нету вообще). Можно ли как-нибудь их отправить? Есть конечно вариант перебрать их через ajax, но хотелось бы менее муторное.
Спасибо сказали:
Аватара пользователя
Славик
Сообщения: 159
ОС: AltLinux2.4 master

Re: javascript и submit с новыми контролами

Сообщение Славик »

А атрибуты типа id или name javascript этим чекбоксам присваивает? Могобыть они за пределами формы рисуются, вот и остаются невидимыми для отправки :)
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
Спасибо сказали:
BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: javascript и submit с новыми контролами

Сообщение BaBL »

Славик писал(а):
29.07.2007 20:33
А атрибуты типа id или name javascript этим чекбоксам присваивает? Могобыть они за пределами формы рисуются, вот и остаются невидимыми для отправки :)

присваиваются. Но трабла в чем... </form> стоит аж перед </body>, но, походу, все что отправлять форме формируется на стадии загрузки. А если я потом даже между <form> и </form> добавляю контролы - они не попадают в исходный текст страницы, а работают уже "в текущем"
Спасибо сказали:
Аватара пользователя
Славик
Сообщения: 159
ОС: AltLinux2.4 master

Re: javascript и submit с новыми контролами

Сообщение Славик »

BaBL писал(а):
29.07.2007 22:17
Но трабла в чем... </form> стоит аж перед </body>, но, походу, все что отправлять форме формируется на стадии загрузки.

:wacko: Начинаются дебри DOM... Зачем форму в воздухе подвешивать? А она не из скрипта случайно на submit отправляется? У меня тут подозрение, (тупое, конечно) - Браузер видит одно, а скрипт - другое. Из тела документа отправлять не пробовал?
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
Спасибо сказали:
BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: javascript и submit с новыми контролами

Сообщение BaBL »

Славик писал(а):
29.07.2007 23:17
BaBL писал(а):
29.07.2007 22:17
Но трабла в чем... </form> стоит аж перед </body>, но, походу, все что отправлять форме формируется на стадии загрузки.

:wacko: Начинаются дебри DOM... Зачем форму в воздухе подвешивать? А она не из скрипта случайно на submit отправляется? У меня тут подозрение, (тупое, конечно) - Браузер видит одно, а скрипт - другое. Из тела документа отправлять не пробовал?

форма в воздухе, ибо это клиентское приложение напичканное AJAX'ом. Форма берется оттуда же. Откуда слать, из скрипта или сабмитом по кнопке - разницы нету, все равно видит только те элементы, которые изначально переслало, а те что создались потом - нема.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: javascript и submit с новыми контролами

Сообщение serzh-z »

BaBL, странно что не шлётся, вот кусок из реального проекта, где тоже динамически создаётся содержимое формы и он отсылается по HTTP:

Код: Выделить всё

function createHiddenInput(form, name, value) {
    var input = form.ownerDocument.createElement("input");
    input.name = name;
    input.type = "hidden";
    input.value = value;
    form.appendChild(input);
}

Код: Выделить всё

            function processUserAction(action) {
                var main = window.document.main;
                main.action = action;
                main.submit();
            }
Сначала форма наполняется вызовом createHiddenInput(), зачем отсылается вызовом processUserAction().
Спасибо сказали:
Аватара пользователя
Славик
Сообщения: 159
ОС: AltLinux2.4 master

Re: javascript и submit с новыми контролами

Сообщение Славик »

BaBL писал(а):
29.07.2007 23:57
форма в воздухе, ибо это клиентское приложение напичканное AJAX'ом. Форма берется оттуда же. Откуда слать, из скрипта или сабмитом по кнопке - разницы нету, все равно видит только те элементы, которые изначально переслало, а те что создались потом - нема.

Странно, однако... И this.form.object.value(или чт еще там) тоже undefined выдает?
Здеся моёй квалификации не хватит, однако. :( Значится, так... Заряжаем мыло help-ом, шмаляем на subscribe@subscribe.ru, и ищем там все, что касается яваскрипта. Не густо, но есть. В крайнем случае можно связаться с авторами. Дураки там не приживаются. Тут живут эксперты, и они прописаны тама же. Гуртом, как говорится, и батьку лупить сподручнее.

P.S Листинг этажем выше - однако, изящно.
Познание бесконечности требует бесконечного времени.
А. и Б. Стругацкие
Понедельник начинается в субботу
Спасибо сказали: