Author |
Message |
Alexey00
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Aug 16, 2005 12:42 pm (написано за 1 минуту 46 секунд)
Post subject:
|
|
Спасибо, Дмитрий! Я школьник, который плохо выучил уроки. * @author Dmitry Koterov * @version 1.93 * @package HTML Дмитрий Котеров wrote: |
А во-вторых, никто php.net/ini_set еще не отменял. | Конечно же! RTFM мне.
|
|
Back to top |
|
 |
IlVin
Заглянувший
Joined: 18 Aug 2005
Posts: 14
Карма: 0 поощрить/наказать
Location: Москва
|
Posted: Thu Aug 18, 2005 10:05 pm (спустя 2 дня 9 часов 22 минуты; написано за 6 минут 10 секунд)
Post subject:
|
|
Дмитрий, а зачем Вы ввели новый атрибут тега INPUT - default="" ? Во FrontPage в WYSIWIG режиме невозможно его установить Там для этих целей используется атрибут value="". Думаю, что немного усложнив алгоритм, можно отказаться от этого дополнительного атрибута, например: введя анализ переменных $_GET, $_POST и атрибута value="" на определенность значений.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Fri Aug 19, 2005 9:41 am (спустя 11 часов 36 минут; написано за 37 секунд)
Post subject:
|
|
Нельзя value трогать. Нарушится совместимость и прозрачность: главная идеология FormPersister - в том, чтобы быть незаметным для уже работающих скриптов.
|
|
Back to top |
|
 |
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Aug 19, 2005 10:22 am (спустя 41 минуту; написано за 1 минуту 9 секунд)
Post subject:
|
|
А можно 2 режима работы ? 1. Чтобы прозрачно для совместимости и 2. непрозрачно для удобства и новых форм ?
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Fri Aug 19, 2005 11:35 am (спустя 1 час 13 минут; написано за 1 секунду)
Post subject:
|
|
Низзя.
|
|
Back to top |
|
 |
ExHealer
Участник форума
Joined: 07 Dec 2004
Posts: 73
Карма: 7 поощрить/наказать
|
Posted: Sat Sep 03, 2005 7:06 pm (спустя 15 дней 7 часов 30 минут; написано за 2 минуты 57 секунд)
Post subject:
|
|
Обнаружил странность похожую на ошибку. Код Code (php): | скопировать код в буфер обмена | $ob = new HTML_FormPersister(); echo (www.php.net/echo) $ob->process( '<input type="text" name="lastname" onkeypress="return(checkLength(event) && checkLetterOnly(event))">' ); | Выводит Code (html): | скопировать код в буфер обмена | <input (december.com/html/4/element/input.html) type="text" name="lastname" onkeypress="return(checkLength(event) && checkLetterOnly(event))" value=""> (december.com/html/4/element/.html) | Обратите внимаение на && Код Code (php): | скопировать код в буфер обмена | $ob = new HTML_FormPersister(); echo (www.php.net/echo) $ob->process( '<input type="text" onkeypress="return(checkLength(event) && checkLetterOnly(event))">' ); | Выводит Code (html): | скопировать код в буфер обмена | <input (december.com/html/4/element/input.html) type="text" onkeypress="return(checkLength(event) && checkLetterOnly(event))"> (december.com/html/4/element/.html) | Вот.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Sun Sep 04, 2005 11:23 am (спустя 16 часов 17 минут; написано за 25 секунд)
Post subject:
|
|
Никаких странностей. Все строго по стандарту. Забустите в браузере и убедитесь, что все продолжает работать.
|
|
Back to top |
|
 |
Edain
Заглянувший
Joined: 24 Mar 2005
Posts: 12
Карма: 2 поощрить/наказать
Location: Россия, г. Вологда
|
Posted: Fri Sep 23, 2005 4:00 pm (спустя 19 дней 4 часа 36 минут; написано за 1 минуту 37 секунд)
Post subject: Предложение
|
|
У меня предложение: добавьте псевдопараметр focus для полей input типа text и password (особенно для последнего будет актуально) по аналогии с confirm. И чтобы заменялся на что-то типа: onfocus="this.select();".
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Mon Sep 26, 2005 9:55 am (спустя 2 дня 17 часов 55 минут; написано за 21 секунду)
Post subject:
|
|
А вручную прописать не судьба? Зачем усложнять библиотеку?
|
|
Back to top |
|
 |
Edain
Заглянувший
Joined: 24 Mar 2005
Posts: 12
Карма: 2 поощрить/наказать
Location: Россия, г. Вологда
|
Posted: Mon Sep 26, 2005 4:38 pm (спустя 6 часов 43 минуты; написано за 2 минуты 25 секунд)
Post subject:
|
|
Дело хозяйское. Но добавляется в класс одной строкой: if (isSet($attr['focus'])) {$attr['onfocus'] = 'onfocus="this.select();"'; } Ничего сложного. Но, повторюсь, дело хозяйское.
|
|
Back to top |
|
 |
ExHealer
Участник форума
Joined: 07 Dec 2004
Posts: 73
Карма: 7 поощрить/наказать
|
Posted: Tue Oct 25, 2005 11:59 am (спустя 28 дней 19 часов 21 минуту; написано за 2 минуты 43 секунды)
Post subject:
|
|
Обнаружил странность поведения, скорее даже ошибку. Code (php): | скопировать код в буфер обмена | function getTime() { $_t = explode (www.php.net/explode)( " ", microtime (www.php.net/microtime)() ); return $_t[ 1 ] + $_t[ 0 ]; }
$_html = '<select onchange="compute()" name="count"><option value="0">0</option><option value="1">1</option></select>'; $_time = getTime(); $ob = new HTML_FormPersister(); $_html = $ob->process( $_html ); $_time = getTime() - $_time; echo (www.php.net/echo) $_time . '<br>';
$_html = '<select onchange="compute()" name="count"><option value="0">0</option><option value="1">1</option>'; $_time = getTime(); $ob = new HTML_FormPersister(); $_html = $ob->process( $_html ); $_time = getTime() - $_time; echo (www.php.net/echo) $_time . '<br>';
$_html = '<select onchange="compute()" name="count"><option value="0">0</option><option value="1">1</option></select>'; $_time = getTime(); $ob = new HTML_FormPersister(); $_html = $ob->process( $_html ); $_time = getTime() - $_time; echo (www.php.net/echo) $_time . '<br>';
$_html = '<select name="count"><option value="0">0</option><option value="1">1</option>'; $_time = getTime(); $ob = new HTML_FormPersister(); $_html = $ob->process( $_html ); $_time = getTime() - $_time; echo (www.php.net/echo) $_time . '<br>';
$_html = '<select name="count"><option value="0">0</option><option value="1">1</option></select>'; $_time = getTime(); $ob = new HTML_FormPersister(); $_html = $ob->process( $_html ); $_time = getTime() - $_time; echo (www.php.net/echo) $_time . '<br>'; | Результаты: 0.00743412971497 5.4700820446 0.00155997276306 0.0195648670197 0.0027289390564 Как видно, html код Code (html): | скопировать код в буфер обмена | <select (december.com/html/4/element/select.html) onchange="compute()" name="count"> (december.com/html/4/element/.html)<option (december.com/html/4/element/option.html) value="0"> (december.com/html/4/element/.html)0</option><option (december.com/html/4/element/option.html) value="1"> (december.com/html/4/element/.html)1</option> | из-за отсутствия закрывающего тэга и наличия onchange сильно тормозит работу.
|
|
Back to top |
|
 |
WingedFox
Профессионал

Joined: 29 Apr 2003
Posts: 4064
Карма: 268 поощрить/наказать
Location: Питер
|
Posted: Tue Oct 25, 2005 12:58 pm (спустя 58 минут; написано за 1 минуту 24 секунды)
Post subject:
|
|
ExHealer
а Вы чего хотели? Поскольку код разбирается регами, то и результат получается соответствующий. Посмотрите, что будет если onchange перенести в предпоследний фрагмент.
|
|
Back to top |
|
 |
ExHealer
Участник форума
Joined: 07 Dec 2004
Posts: 73
Карма: 7 поощрить/наказать
|
Posted: Tue Oct 25, 2005 1:16 pm (спустя 17 минут; написано за 1 минуту 50 секунд)
Post subject:
|
|
WingedFox
будет фрагмент №2. я понимаю что в библиотеке присутствуют регулярные выражения, но как мне кажется, необходимо предусмотреть отлавливание таких моментов. разве нет?
|
|
Back to top |
|
 |
WingedFox
Профессионал

Joined: 29 Apr 2003
Posts: 4064
Карма: 268 поощрить/наказать
Location: Питер
|
Posted: Tue Oct 25, 2005 1:22 pm (спустя 6 минут; написано за 2 минуты 7 секунд)
Post subject:
|
|
ExHealer wrote: |
будет фрагмент №2. | Пробовали? ExHealer wrote: |
необходимо предусмотреть отлавливание таких моментов | Это невозможно предусмотреть без анализа разметки (что делается теми же регами).
|
|
Back to top |
|
 |
ExHealer
Участник форума
Joined: 07 Dec 2004
Posts: 73
Карма: 7 поощрить/наказать
|
Posted: Tue Oct 25, 2005 1:30 pm (спустя 7 минут; написано за 4 минуты 10 секунд)
Post subject:
|
|
WingedFox wrote: |
Это невозможно предусмотреть без анализа разметки (что делается теми же регами). | Правильно, делается теми же тэгами. Сейчас, как мне кажется, это делается не совсем корректно. Ведь это же не регулярные выражения "поедают" 5 секунд?
|
|
Back to top |
|
 |
WingedFox
Профессионал

Joined: 29 Apr 2003
Posts: 4064
Карма: 268 поощрить/наказать
Location: Питер
|
Posted: Tue Oct 25, 2005 1:33 pm (спустя 3 минуты; написано за 54 секунды)
Post subject:
|
|
ExHealer
А хто же тогда? =) там больше ничего и нет =) Посмотрите код, почитайте у Фридла теорию работы регов. ExHealer wrote: |
Сейчас, как мне кажется, это делается не совсем корректно. | Как говорится - попробуйте сделать лучше.
|
|
Back to top |
|
 |
Грачик
Заглянувший
Joined: 26 Oct 2005
Posts: 1
Карма: 0 поощрить/наказать
|
Posted: Wed Oct 26, 2005 5:45 pm (спустя 1 день 4 часа 11 минут; написано за 10 минут 15 секунд)
Post subject:
|
|
Во-первых, Дмитрий - большое спасибо за Вашу работу, уже много лет я пользуюсь Вашими продуктами, они вне конкуренции. Теперь по делу. Господа, насколько я понимаю, HTML_FormPersister обрабатывает (как бы индексирует) все формы и их поля сначала при первоначальной загрузке страницы, а после сабмита работает с ними же. У меня же часть полей формы генерятся с помощью JavaScript. В результате HTML_FormPersister не обрабатывает сгенерированную часть кода. Отсюда 2 вопроса: 1. Видите ли вы быстрое решение моей проблемы средствами HTML_FormPersister, или с генеренными полями надо по старинке работать вручную? 2. Почему HTML_FormPersister перехватывает не ВСЁ содержимое _POST и _GET после сабмита? Если я всё правильно понимаю, то это решило бы такие ситуации как у меня. С уважением.
|
|
Back to top |
|
 |
EVILdoer
Участник форума

Joined: 24 Oct 2005
Posts: 20
Карма: -8 поощрить/наказать
Location: Сыктывкар
|
Posted: Fri Oct 28, 2005 7:28 am (спустя 1 день 13 часов 43 минуты; написано за 1 минуту 55 секунд)
Post subject:
|
|
В статье про HTML_FormPersister есть один неверный листинг кода. Скорей всего просто опечатка, извините что трачу целый пост на это)) Code (php): | скопировать код в буфер обмена | <select name="choose"> <?foreach ($elements as $k=>$v) {?> <option value="<?=htmlspecialchars($k)"> <?=$v> </option> <?}?> </select> | Надо хотя бы: Code (php): | скопировать код в буфер обмена | <select name="choose"> <?foreach ($elements as $k=>$v) {?> <option value="<?=htmlspecialchars($k)?>"> <?=$v?> </option> <?}?> </select> | Ещё раз прошу извинений за беспокойство. :)
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Fri Oct 28, 2005 9:49 am (спустя 2 часа 20 минут; написано за 18 секунд)
Post subject:
|
|
EVILdoer
Простите, не вижу разницы
|
|
Back to top |
|
 |
WingedFox
Профессионал

Joined: 29 Apr 2003
Posts: 4064
Карма: 268 поощрить/наказать
Location: Питер
|
Posted: Fri Oct 28, 2005 11:27 am (спустя 1 час 37 минут; написано за 53 секунды)
Post subject:
|
|
Maus
Внимательно посмотрите на вставку переменных - в одном месте отсутствует ?>, в другом - ?
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Fri Oct 28, 2005 11:34 am (спустя 7 минут; написано за 21 секунду)
Post subject:
|
|
WingedFox
А, действительно. Спасибо.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Fri Oct 28, 2005 12:30 pm (спустя 55 минут; написано за 5 секунд)
Post subject:
|
|
ExHealer wrote: |
из-за отсутствия закрывающего тэга и наличия onchange сильно тормозит работу. | Пооптимизировал регулярные выражения. Собственно, все, что требовалось, - это заменить в нескольких местах (?:...) на (?>...), см. документацию на PCRE. Новая версия HTML_SemiParser - 1.95. Попробуйте ее в своих проектах. Код для тестирования скорости: dklab.ru/lib/HTML_FormPersister/demo/test/HTML_FormPersister/t_speed.php EVILdoer wrote: |
Скорей всего просто опечатка, | Да, опечатка. Исправил, спасибо.
|
|
Back to top |
|
 |
гость :)
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 06, 2005 4:31 am (спустя 8 дней 16 часов 1 минуту; написано за 4 минуты 40 секунд)
Post subject: багрепорт
|
|
Во первых, хочу поблагодарить за библиотеку - очень и очень помогает.. нашёл баг (версия 1.93, последняя), точнее не совсем баг :) понадобилось обработать форму где есть такая вот структура <input type=radio name=group[] value=1> <input type=radio name=group[] value=2> <input type=radio name=group[] value=3> <input type=radio name=group[] value=4> ну и т.д. (понимаю что изврат, и не нужен здесь массив, но так надо -) ) FormPersister обрабатывал неправильно - не сохранял состояние этого радобаттона (точнее сохранял, но только одного - первого). Покопался в коде, понял почему так происходит, поправить оказалось просто.. строка 129, было: if ($attr['value'] == $this->getCurValue($attr)) $attr['checked'] = 'checked'; стало: if ($attr['value'] == $this->getCurValue($attr,true)) $attr['checked'] = 'checked'; т.е. добавил true в вызов getCurValue. Вроде бы других багов это не создало, всё теперь работает как нужно..
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Sun Nov 06, 2005 3:46 pm (спустя 11 часов 14 минут; написано за 42 секунды)
Post subject:
|
|
гость :) wrote: |
понадобилось обработать форму где есть такая вот структура | Эта структура с логической точки зрения абсолютно некорректна. "Так надо" - не верю. Изврат чистой воды. То, что это не создало других багов, далеко не факт.
|
|
Back to top |
|
 |
Гость :)
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 06, 2005 8:22 pm (спустя 4 часа 35 минут; написано за 1 секунду)
Post subject:
|
|
Некоректна. Согласен. Дело в том что что один и тот же элемент управления может быть как чекбоксом, так и радоибаттоном и в скрипте обрабатывается одинаково. Можно конечно переименовать в group и поставить проверку в скрипте, но.. С другой стороны такая структура обрабатывается пхп без проблем (ему соббственно всё равно -) ), так почему formPersister её обрабатывает некорректно? Однако если автор считает что так и должно быть то я поменяю свой скрипт :)
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Sun Nov 06, 2005 10:00 pm (спустя 1 час 38 минут; написано за 2 минуты 18 секунд)
Post subject:
|
|
Параметр isBoolean у getCurValue нельзя использовать для radio-кнопок по той простой причине, что он влияет на псевдоатрибут default, который может быть у элемента. У checkbox-ов default-атрибут может быть только '', '0' (значение "выключено") или все остальное ("включено"). Для radio-кнопок же - default-атрибут совпадает с полем value ("включено") или не совпадает ("выключено"). Но, вообще-то, в чем-то Вы правы. Раз на странице есть элемент, то он должен сохранять свое значение, как бы он ни назывался. Так что, вероятно, в одной из следующих версиях поправлю.
|
|
Back to top |
|
 |
Fog
Участник форума
Joined: 23 Mar 2003
Posts: 31
Карма: 0 поощрить/наказать
|
Posted: Mon Nov 07, 2005 1:29 pm (спустя 15 часов 28 минут; написано за 1 минуту 2 секунды)
Post subject:
|
|
Я что-то не понимаю, или... почему так? dklab.ru/lib/HTML_FormPersister/demo/test/HTML_FormPersister/t_formpersister.php
убираем галку с чекбокса, для которого указан параметр default (один такой), отправляем форму и после загрузки чекбокс снова выбран.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Tue Nov 08, 2005 12:24 pm (спустя 22 часа 55 минут; написано за 1 минуту 36 секунд)
Post subject:
|
|
Если взвести следующий за ним checkbox, тогда, кстати, default работает корректно. Видимо, проблема в том, что библиотека не может определить: то ли данные впервые загружены (и тогда надо default учитывать), то ли - после нажатия на submit (и тогда default следует игнорировать). Я пока не вижу, как данный вопрос можно разрешить.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Fri Nov 25, 2005 2:16 pm (спустя 17 дней 1 час 51 минуту; написано за 2 минуты 19 секунд)
Post subject:
|
|
v 1.97. - Добавлены псевдоатрибуты _left и _right, чтобы можно было в обработчиках вставлять текст перед или после тэга. - Исправлен баг с невозможностью распознавания атрибутов вида prefix:name="value". - Можно определять препроцессоры и постпроцессоры всего текста в производных классах. - Псевдоатрибут label у input-полей теперь не приводит к обрыву вызова цепочки обработчиков (добились этого за счет _left и _right). - Метод _deepFetch сильно усовершенствован
|
|
Back to top |
|
 |
unreg
Guest
Карма: 388 поощрить/наказать
|
Posted: Wed Nov 30, 2005 1:29 am (спустя 4 дня 11 часов 13 минут; написано за 5 минут 32 секунды)
Post subject:
|
|
Спасибо за ваш труд! Библиотека действительно сильно помогает в рутинной работе. При этом, возник вопрос. Code (php): | скопировать код в буфер обмена | ob_start (www.php.net/ob_start)(); include($var); $var2 .= ob_get_contents (www.php.net/ob_get_contents)(); ob_end_clean (www.php.net/ob_end_clean)(); | Переменная $var содержит файл, подлежащий обработке с помощью formpersister. При использовании подобной структуры непременно получаем неверную работу - formrersister просто не работает и выдаёт необработанную страницу. Что может помочь в подобной ситуации?
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Wed Nov 30, 2005 11:39 am (спустя 10 часов 10 минут; написано за 15 секунд)
Post subject:
|
|
Понимание того, как работает FormPersister, а также чтение Как правильно задавать вопросы: статья, обязательная к прочтению (citforum.ru/howto/smart-questions-ru.shtml)
|
|
Back to top |
|
 |
Diver_guest
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Jan 29, 2006 11:23 am (спустя 1 месяц 28 дней 23 часа 43 минуты; написано за 2 минуты 50 секунд)
Post subject:
|
|
Здраствуйте. такой вопрос. есть вот такой вот файл.php Code (php): | скопировать код в буфер обмена | require_once 'HTML/FormPersister.php'; ob_start (www.php.net/ob_start)(array (www.php.net/array)('HTML_FormPersister', 'ob_formpersisterhandler'""""""></br> <input type="submit"> </form> | вопрос. мне надо обработать поля. к примеру проверить адрес емеил на соответсвие a@a.a (если соответствует то оставить как есть, а если нет то затереть его и вывести предупреждение). собственно куда вставлять подобный код для обработки?
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Sun Jan 29, 2006 12:38 pm (спустя 1 час 15 минут; написано за 47 секунд)
Post subject:
|
|
HTML_FormPersister к этому вопросу отношения не имеет. Вставлять код, очевидно, в любое место приведенного Вами файла.
|
|
Back to top |
|
 |
Shipko M.
Заглянувший
Joined: 02 Feb 2006
Posts: 1
Карма: 0 поощрить/наказать
Location: г. Киев
|
Posted: Thu Feb 02, 2006 2:33 pm (спустя 4 дня 1 час 54 минуты; написано за 9 секунд)
Post subject:
|
|
В теге <form> можно не указывать атрибут action, тогда берется базовый URL документа. <form action=""> </form>
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Fri Feb 03, 2006 11:48 am (спустя 21 час 14 минут; написано за 48 секунд)
Post subject:
|
|
Shipko M. wrote: |
В теге <form> можно не указывать атрибут action | В стандарте, кажется, сказано обратное: www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#edef-FORM wrote: |
<!ATTLIST FORM %attrs; -- %coreattrs, %i18n, %events -- action %URI; #REQUIRED -- server-side form handler -- | // выделено мной
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Fri Feb 03, 2006 12:00 pm (спустя 12 минут; написано за 54 секунды)
Post subject:
|
|
1. Практика показала, что, если опуститьь action, то форма будет отправлена сама на себя, что крайне удобно. 2. В случае, если action отсутствует, FormPersister создает этот атрибут и прописывает там REQUEST_URI.
|
|
Back to top |
|
 |
creatop
Заглянувший
Joined: 05 Mar 2005
Posts: 7
Карма: 0 поощрить/наказать
Location: Omsk
|
Posted: Fri Feb 24, 2006 4:01 pm (спустя 21 день 4 часа 1 минуту; написано за 4 минуты 4 секунды)
Post subject:
|
|
Можно поинтересоваться, почему обидели <select> в плане обработки аттрибута label?? При таком (xhtml.ru/2005/11/28/css-forms/) способе отображения форм, label прописывается для всех элементов формы (ну естественно кроме button, hidden и т.п.), и мне кажется это вполне удобным. Стоит надеяться на добавление этого функционала в библиотеку автором, или же взяться за дописывание самому?
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 412 поощрить/наказать
|
Posted: Sat Feb 25, 2006 9:29 pm (спустя 1 день 5 часов 27 минут; написано за 1 минуту 9 секунд)
Post subject:
|
|
О каком именно label-е идет речь? Если о <input type="checkbox" label="abc">, то тут label задумывался как активная, кликабельная область для checkbox-а. Какой смысл делать label для select-ов, textarea и т.д.?
|
|
Back to top |
|
 |
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Feb 26, 2006 6:48 am (спустя 9 часов 18 минут; написано за 4 минуты 51 секунду)
Post subject:
|
|
Ну если пройти по вышеупомянутой ссылке, то там наглядно демонстрируется этот способ верстки: Code (html): | скопировать код в буфер обмена | <form (december.com/html/4/element/form.html) method="post" id="testForm"> (december.com/html/4/element/.html) <fieldset> (december.com/html/4/element/fieldset.html) <legend> (december.com/html/4/element/legend.html)Это форма!</legend> <label (december.com/html/4/element/label.html) for="inp1"> (december.com/html/4/element/.html)Фамилия: <br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)</label> <input (december.com/html/4/element/input.html) id="inp1" name="name1" value="" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html) <label (december.com/html/4/element/label.html) for="inp2"> (december.com/html/4/element/.html)Имя: <br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)</label> <input (december.com/html/4/element/input.html) id="inp2" name="name2" value="" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html) <label (december.com/html/4/element/label.html) for="inp3"> (december.com/html/4/element/.html)E-mail: <br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)</label> <input (december.com/html/4/element/input.html) id="inp3" name="name3" value="" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html) <label (december.com/html/4/element/label.html) for="inp4"> (december.com/html/4/element/.html)Страна: <br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)</label> <select (december.com/html/4/element/select.html) id="inp4" name="name4"> (december.com/html/4/element/.html) <optgroup> (december.com/html/4/element/optgroup.html) <option (december.com/html/4/element/option.html) value=""> (december.com/html/4/element/.html)Россия</option> <option (december.com/html/4/element/option.html) value=""> (december.com/html/4/element/.html)Украина</option> <option (december.com/html/4/element/option.html) value=""> (december.com/html/4/element/.html)Беларусь</option> </optgroup> </select><br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html) <label (december.com/html/4/element/label.html) for="inp5"> (december.com/html/4/element/.html)Комментарий: <br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)</label> <textarea (december.com/html/4/element/textarea.html) id="inp5" name="name5"> (december.com/html/4/element/.html)</textarea><br (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html) <input (december.com/html/4/element/input.html) type="submit" value="Отправить" class="noresize submit" /> (december.com/html/4/element/.html) </fieldset> </form> | Да, действительно, здесь label прописывется для каждого элемента и несет более декоративную роль, нежели в случае с radiobutton или checkbox, но тем не менее такой способ очень удобен для верстки форм, и не противоречит стандартам HTML, насколько я понимаю. К тому же по клику на label для <input type="text"> или <textarea> фокус переходит в поле ввода, что тоже можно считать небольшой фичей.
|
|
Back to top |
|
 |
creatop
Заглянувший
Joined: 05 Mar 2005
Posts: 7
Карма: 0 поощрить/наказать
Location: Omsk
|
Posted: Sun Feb 26, 2006 7:47 am (спустя 59 минут; написано за 1 минуту 37 секунд)
Post subject:
|
|
Вот еще пример (jeremyboles.com/formtrick/) для чего можно использовать <label> в формах З.Ы. предыдущее сообщение мое..
|
|
Back to top |
|
 |
|