Jump to content
  • 0

Вложенность форм


staff-base
 Share

Question

Существует (на мой взгляд) ошибка в проектировании форм HTML. Суть в том, что поле action помещено в тег <form> , а не связано с кнопкой submit. Кроме отсутствия логики, потеряна возможность отправки одной формы разным по выбору пользователя обработчикам.

Это можно обойти вложив формы друг в друга. Вопрос - будет ли это "валидно", и не будет ли глюков в браузерах?

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

А зачем?

Например: мальчики на лево, девочки на право. Простая форма авторизации с двумя кнопками для разных групп пользователей - админ или юзверь. Просто вход или вход с записью cookies на долго.

Вкладывать одну форму в другую нельзя. А вот сделать разные обработчики для разных кнопок можно в HTML5 через атрибут formaction.

По книжке Holzschlag - можно, правда почему-то в описании тега возможность вложения описано в перечислении блочных элементов. Но я думаю <form> не является ни inline-элементом, ни блочным. Сам DOM строится нормально, глюки могут появится при доступе к полям формы через объекты этих форм и submit окажется не у той формы или т.п.

formaction использовать нельзя вообще - в ближайшие несколько лет такая форма не будет работать у половины пользователей. Надежнее решать через JS с подменой action.

Link to comment
Share on other sites

  • 0

А зачем?

Например: мальчики на лево, девочки на право. Простая форма авторизации с двумя кнопками для разных групп пользователей - админ или юзверь. Просто вход или вход с записью cookies на долго.

Вкладывать одну форму в другую нельзя. А вот сделать разные обработчики для разных кнопок можно в HTML5 через атрибут formaction.

По книжке Holzschlag - можно, правда почему-то в описании тега возможность вложения описано в перечислении блочных элементов. Но я думаю <form> не является ни inline-элементом, ни блочным. Сам DOM строится нормально, глюки могут появится при доступе к полям формы через объекты этих форм и submit окажется не у той формы или т.п.

formaction использовать нельзя вообще - в ближайшие несколько лет такая форма не будет работать у половины пользователей. Надежнее решать через JS с подменой action.

Можно посылать хидден поле, валуе у которого по клику меняется.

Link to comment
Share on other sites

  • 0

Вы слишком много хотите сразу. Пока решение одно, это HTML5. Но вас оно не устраивает, потому что не все браузеры поддерживают. Скрипты использовать вы не желаете. Вам остаётся тогда ждать, когда ВСЕ браузеры начнут работать с формами HTML5.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy