Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форма в форме 
V
    Опции темы
jhonyxakep
Дата 27.12.2010, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Здравствуйте,

Использую на сайте архитектуру типа 

Код


<form action='' method='POST' name='actions'>

****разнообразные поля*****

    <form action='' method='POST' name='read'>
     ****поля*****
    </from>

****поля****
</from>



Проблема в том, что все броузеры, кроме оперы, справляются с такой не очень правильной структурой. Понятно, что надо реализовать работу в опере. Вопрос:

Как реализовать подобную структуру, не сильно правя код, и давая опере возможность валидно обрабатывать это?


PM MAIL ICQ   Вверх
steyraug
Дата 27.12.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.8.2010

Репутация: нет
Всего: нет



А что не работает конкретно

Код


<form action='' method='POST' name='actions'>

****разнообразные поля*****

    <form action='' method='POST' name='read'>
     ****поля*****
    </from>

****поля****
</from>



Закрывающий тег тоже должен быть </form>. А сделать то, что вы хотите, можно яваскриптом. Например при нажатии на кнопку-сабмит вложенной формы сабмитить вложенную форму. Типа так:


Код


<form action='' method='POST' name='actions'>
<!--тратата-->
    <form action='' method='POST' name='read'>
     <!--тратата-->
    <input type="submit" onclick="document.forms['read'].submit()" />
    </form>
<!--тратата-->
</form>



З.Ы: Если не секрет, для чего такую странную структуру используете?

Это сообщение отредактировал(а) steyraug - 27.12.2010, 13:03
PM MAIL   Вверх
jhonyxakep
Дата 27.12.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Цитата(steyraug @  27.12.2010,  12:29 Найти цитируемый пост)
Закрывающий тег тоже должен быть </form>. А сделать то, что вы хотите, можно яваскриптом. Например при нажатии на кнопку-сабмит вложенной формы сабмитить вложенную форму. Типа так:


проблема не в том, что идет отсылка не той формы, дело в том, что после нахождения еще одного не закрывающего тега form, опера автоматически закрывает первый тег form



Цитата(steyraug @  27.12.2010,  12:29 Найти цитируемый пост)
З.Ы: Если не секрет, для чего такую странную структуру используете?


Почтовый клиент. Внешняя форма используется для обработки нескольких писем, в тч удаление, а внутренняя только для конкретного письма, с этим и проблемы, что все браузеры понимают, кроме оперы.  
PM MAIL ICQ   Вверх
SelenIT
Дата 28.12.2010, 12:32 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Цитата(jhonyxakep @  27.12.2010,  06:19 Найти цитируемый пост)
Проблема в том, что все броузеры, кроме оперы, справляются с такой не очень правильной структурой.

Да, это проблема, кроме шуток. Причем делают это каждый на свой лад. Если не ошибаюсь, в FF4 (с HTML5-парсером по умолчанию) проблемы уже не будет (будет как в Опере), в будущих Хромах, скорее всего, тоже.

Лучше переделать по-нормальному сразу. Если к тому же обе формы отправляются на один обработчик (судя по коду примера), то в чем вообще смысл того, что они разные? Проверять в обработчике, какая кнопка была нажата — и все дела. Разве что с клиентской валидацией могут быть небольшие трудности...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
jhonyxakep
Дата 29.12.2010, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Цитата(SelenIT @  28.12.2010,  12:32 Найти цитируемый пост)
Лучше переделать по-нормальному сразу. Если к тому же обе формы отправляются на один обработчик (судя по коду примера), то в чем вообще смысл того, что они разные? Проверять в обработчике, какая кнопка была нажата — и все дела. Разве что с клиентской валидацией могут быть небольшие трудности...



те каждую кнопку обзывать по своему, и обрабатывать как массив?
PM MAIL ICQ   Вверх
bars80080
Дата 29.12.2010, 15:44 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



Цитата(jhonyxakep @  29.12.2010,  06:03 Найти цитируемый пост)
те каждую кнопку обзывать по своему, и обрабатывать как массив? 

у кнопки есть имя name="submit1" и значение value="отправить", какая кнопка будет нажата, та переменная и возникнет на сервере:

$_POST[''submit1"] будет существовать только в том случае, если была нажата кнопка submit1
PM MAIL WWW   Вверх
jhonyxakep
Дата 31.12.2010, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



bars80080, хмм, спасибо, понял.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1185 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.