Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

43_HTML_FormPersister: новый взгляд на построение форм (Дмитрий Котеров, оценка: 3)
Goto page Previous  1, 2, 3, 4, 5  Next
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Feb 26, 2006 8:37 am (написано за 40 секунд)
   Post subject:
Reply with quote

Ну так я не совсем понимаю, при чем тут FormPersister. Если нужны <label> - используйте эти контейнеры прямо в HTML-коде. При чем тут обработка форм?
Back to top
View user's profile Send private message Send e-mail
creatop
Заглянувший



Joined: 05 Mar 2005
Posts: 7
Карма: 0
   поощрить/наказать

Location: Omsk

PostPosted: Sat Mar 04, 2006 5:18 am (спустя 5 дней 20 часов 41 минуту; написано за 1 минуту 52 секунды)
   Post subject:
Reply with quote

Quote:
Ну так я не совсем понимаю, при чем тут FormPersister. Если нужны <label> - используйте эти контейнеры прямо в HTML-коде. При чем тут обработка форм?
Ну а зачем тогда в библиотеке была сделана обработка аттрибута label для checkbox-ов и radiobutton-ов? Может быть для удобства?
Точно также <label>-ы можно было и писать в HTML-коде
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Mar 04, 2006 3:28 pm (спустя 10 часов 9 минут; написано за 12 секунд)
   Post subject:
Reply with quote

Да, именно для удобства. Но Вы правы - не нужна она там...
Back to top
View user's profile Send private message Send e-mail
y0prst
Участник форума



Joined: 20 May 2004
Posts: 101
Карма: 9
   поощрить/наказать

Location: Вологда

PostPosted: Sat Mar 04, 2006 11:46 pm (спустя 8 часов 18 минут; написано за 4 минуты 3 секунды)
   Post subject: Пустой аттрибут default в textarea
Reply with quote

Code (html): скопировать код в буфер обмена
1. <input (december.com/html/4/element/input.html) name="text" default=""/> (december.com/html/4/element/.html)
2. <textarea (december.com/html/4/element/textarea.html) name="textarea" default=""> (december.com/html/4/element/.html)</textarea>
В первом случае default удаляется, во втором - нет.
Мне кажется, это было бы более логичное поведение, если бы аттрибут удалялся в обоих случаях.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Mar 05, 2006 1:59 am (спустя 2 часа 12 минут; написано за 2 минуты 30 секунд)
   Post subject:
Reply with quote

Так это...
<input name="text" default="" value=""/>
тоже не должен default удаляться, по идее.

Это потому, что, если тэг не меняется, то библиотека его и не перестраивает (для скорости), а оставляет в неизменном виде. Наверное, это неправильно для тэгов, у которых есть псевдоатрибуты...

Поэтому

version 1.98:
- теперь атрибут default удаляется из тэгов в любом случае
- удален ненужный метод makeTag(), он все равно не всегда вызывался

Блин, номера версий заканчиваются... скоро 2.00 будет. :-)
Back to top
View user's profile Send private message Send e-mail
y0prst
Участник форума



Joined: 20 May 2004
Posts: 101
Карма: 9
   поощрить/наказать

Location: Вологда

PostPosted: Sun Mar 05, 2006 10:15 pm (спустя 20 часов 16 минут; написано за 3 минуты 13 секунд)
   Post subject:
Reply with quote

И не только 2.00 ;)

Вот еще такой баг:
Code (html): скопировать код в буфер обмена
<form (december.com/html/4/element/form.html) method="get"> (december.com/html/4/element/.html)
        <input (december.com/html/4/element/input.html) type="checkbox" name="a[]" value="0" label="0^" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html)/> (december.com/html/4/element/.html)
        <input (december.com/html/4/element/input.html) type="checkbox" name="a[]" value="1" label="1^" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html)/> (december.com/html/4/element/.html)
        <input (december.com/html/4/element/input.html) type="checkbox" name="a[]" value="2" label="2^" /> (december.com/html/4/element/.html)<br (december.com/html/4/element/br.html)/> (december.com/html/4/element/.html)
</form>
Здесь первый чекбокс будет выделен по умолчанию, хотя я не записал у него ни checked, ни default.
Я заметил, что такое поведение бывает только если name заканчивается на "[]", а (value="0", либо вообще отсутствует).

Last edited by y0prst on Sun Mar 05, 2006 10:20 pm; edited 1 time in total
Back to top
View user's profile Send private message
y0prst
Участник форума



Joined: 20 May 2004
Posts: 101
Карма: 9
   поощрить/наказать

Location: Вологда

PostPosted: Sun Mar 05, 2006 10:19 pm (спустя 3 минуты; написано за 11 секунд)
   Post subject:
Reply with quote

То есть не первый, а нулевой ;)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Mar 06, 2006 5:45 pm (спустя 19 часов 26 минут; написано за 45 секунд)
   Post subject:
Reply with quote

И где только Вы все это находите. :-)
У меня более 30 проектов на этой библиотеке, и я ни разу не находил таких багов. Мистика...
Пофиксил. Номер версии тот же - 1.98.
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9989
   поощрить/наказать


PostPosted: Mon Mar 06, 2006 6:40 pm (спустя 54 минуты; написано за 44 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Блин, номера версий заканчиваются...
Hint: 1.981
Superhint: 1.9800000001
Back to top
View user's profile Send private message
Миша Спларов
Участник форума



Joined: 17 Nov 2003
Posts: 821
Карма: 65
   поощрить/наказать

Location: Россия, Москва

PostPosted: Mon Mar 06, 2006 7:18 pm (спустя 38 минут; написано за 17 секунд)
   Post subject:
Reply with quote

bæv, 1.100, 1.101 тогда уж :-)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Mar 22, 2006 1:51 pm (спустя 15 дней 18 часов 32 минуты; написано за 2 минуты 8 секунд)
   Post subject:
Reply with quote

version 1.98
Исправлен страшеннейший баг в SemiParser-е: неправильно парсились атрибуты тэгов, последовательность \" внутри атрибутов в кавычках считалась служебной (как в строковых константах PHP), в то время как по стандарту HTML это совершенно не так. Причем код очень древний. Странно, что за 2 года этого бага никто не заметил.
Back to top
View user's profile Send private message Send e-mail
кипитильник
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Mar 28, 2006 7:16 pm (спустя 6 дней 5 часов 24 минуты; написано за 1 минуту 5 секунд)
   Post subject: облом
Reply with quote

Дмитрий Котеров как узнать или как прописать админовский пароль а то лазю здесь визде и не могу найти то что мне нада .... и как локально откріваеться база даніх , или юзе как откріть ее через ссылку ..
Back to top
Vezyk
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Apr 06, 2006 1:01 pm (спустя 8 дней 17 часов 45 минут; написано за 3 минуты 1 секунду)
   Post subject:
Reply with quote

необходимо дополнить статью :: не хватает четко написаного предназначения и примера из которого были бы явно видны преимущества подхода
Back to top
alexhemp
Участник форума



Joined: 31 Aug 2005
Posts: 29
Карма: 2
   поощрить/наказать


PostPosted: Thu May 11, 2006 10:50 pm (спустя 1 месяц 5 дней 9 часов 49 минут; написано за 4 минуты 41 секунду)
   Post subject:
Reply with quote

Использую SemiParser 1.98

Нужно слегка трансформировать некоторые атрибуты визуально проектируемой формы перед выводом.

Пишу что-то вроде:
Code (any language): скопировать код в буфер обмена
class MyParser extends HTML_SemiParser
{

    function MyParser()
    {
            $this->sp_IGNORED = array('script', 'iframe', 'title');
            $this->$sp_SKIP_IGNORED = true;
        $this->HTML_SemiParser();
    }

    function tag_select($attr) {
        $attr['OnClick'] = "ChangeValue(this.form);";
        return $attr;
    }
}
...
Работает превосходно, а если tag_select заменить на container_select
Code (any language): скопировать код в буфер обмена
    function container_select($attr)
    {
        $attr['OnClick'] = "ChangeValue(this.form);";
        return $attr;
    }
То вызова не происходит... :-(
А хочется с опциями внутри SELECT-а помудрить (в духе form_persister-а, но на порядок проще)

Подскажите что я не так делаю...
Back to top
View user's profile Send private message
alexhemp
Участник форума



Joined: 31 Aug 2005
Posts: 29
Карма: 2
   поощрить/наказать


PostPosted: Fri May 12, 2006 1:57 pm (спустя 15 часов 6 минут; написано за 4 минуты 12 секунд)
   Post subject:
Reply with quote

Сегодня разоборался... неверно описал ночью проблему.

В общем вопрос такой

Нормальное ли это поведение - если назначен обработчик для внешнего контейнера, то обработчик для внутреннего не вызовется?

Вот тестовый пример
Code (php): скопировать код в буфер обмена
<?php

require_once('HTML/semiParser.php');       

$html = '<FORM name="Test" action="test" method=post>
<SELECT size=1 name="Test_SELECT">
<OPTION value="1" selected>1</OPTION>
<OPTION value="2">2</OPTION>
</SELECT>
</FORM>'
;

class MyParser extends HTML_SemiParser
{

    function MyParser()
    {
        $this->HTML_SemiParser();
    }

    function process($st)
    {
            $this->sp_IGNORED = array (www.php.net/array)('script', 'iframe', 'title');
            $this->$sp_SKIP_IGNORED = true;
        return HTML_SemiParser::process($st);
    }

        function tag_select($attr) {
                echo (www.php.net/echo) "tag_select<br>";
                return $attr;
        }

    function container_select($attr)
    {
                echo (www.php.net/echo) "container_select<br>";
                return $attr;
        }

    function tag_form($attr)
    {
                echo (www.php.net/echo) "tag_form<br>";
                return $attr;
    }


    function container_form($attr)
    {
                echo (www.php.net/echo) "container_form<br>";
                return $attr;
    }

}

$parser = new MyParser();
$parser->process($html);
?>
Вывод вот такой
tag_form
tag_select
container_form

Вызова container_select можно добиться только убрав container_form

Мне хочется сделать следующее - обработать тег формы добавив пару hidden-полей в зависимости от ее атрибутов и обработать SELECT как контейнер в духе FormPersister (т.е. вставить значения в зависимости от массива параметров).
Back to top
View user's profile Send private message
alexhemp
Участник форума



Joined: 31 Aug 2005
Posts: 29
Карма: 2
   поощрить/наказать


PostPosted: Fri May 12, 2006 3:09 pm (спустя 1 час 12 минут; написано за 1 минуту 8 секунд)
   Post subject:
Reply with quote

Покопал код, понял что контейнеры "выкусываются" из кода, поэтому вложенные контейнеры невозможны по принципу работы...

Пока сделал 2 класса-обработчика, и последовательно через них пропускаю текст.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri May 12, 2006 11:22 pm (спустя 8 часов 12 минут; написано за 1 минуту 3 секунды)
   Post subject:
Reply with quote

alexhemp wrote:
Нормальное ли это поведение - если назначен обработчик для внешнего контейнера, то обработчик для внутреннего не вызовется?
Да, нормальное. Если хотите, можете при обработке контента внутреннего контейнера снова запустить SemiParser. К сожалению, здесь без вариантов: обработчик внешнего контейнера может захотеть заменить текст внутри контейнера, что тогда делать обработчику внутреннего?
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun May 14, 2006 11:58 pm (спустя 2 дня 35 минут; написано за 3 минуты 2 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров

Да, я уже понял... :-) Спасибо за наводку про внутренний, я как-то не подумал о таком простом решении... :-)

А можно Feature Request?

Не хватает возможности добавить что-то слева или справа от контейнера в целом, только внутрь...

Например я после каждого INPUT, SELECT, TEXTAREA хочу динамически добавлять DIV для текста ошибки. Соотв. для INPUT это легко, а вот для SELECT и TEXTAREA проблемно...
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon May 15, 2006 8:07 am (спустя 8 часов 9 минут; написано за 1 минуту 55 секунд)
   Post subject:
Reply with quote

Слева от контейнера в целом можно добавить через ключ _left, это поддерживается.
По идее, справа от контейнера тоже доложно работать через _right. Не работает?
Back to top
View user's profile Send private message Send e-mail
alexhemp
Участник форума



Joined: 31 Aug 2005
Posts: 29
Карма: 2
   поощрить/наказать


PostPosted: Mon May 15, 2006 12:40 pm (спустя 4 часа 33 минуты; написано за 58 секунд)
   Post subject:
Reply with quote

Дмитрий, извините, в который раз убеждаюсь в своей невнимательности ;-)

Просто у вас код весьма непростой для понимания :-)

Попробовал, все четко, справа добавляется, то что нужно! Спасибо за отличный парсер!
Back to top
View user's profile Send private message
draft
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Jul 14, 2006 8:26 am (спустя 1 месяц 29 дней 19 часов 45 минут; написано за 6 минут 38 секунд)
   Post subject:
Reply with quote

2 Дмитрий Кóтеров

Можно ли в HTML_FormPersister'е определить как-то была ли оптрпавлена форма или нет?
Просто возникла такая ситуация: по умолчанию, до отправки формы, нужно чтобы чекбокс был включен, но когда форма уже отправилась, то должен менять своё значение в зависимости от прилетевших параметров, т.е. включаться и отключаться. Сейчас же если поставить чекбоксу default, то внезависимости от того была ли отправлена форма или нет, если параметр чекбокса не прилетел его значение поставиться в checked.
В общем, проблема в том, что для чекбоксов не отслеживается была ли отправка формы или нет.
Буду благодарен за помощь.
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Fri Jul 14, 2006 9:04 am (спустя 38 минут; написано за 1 минуту 16 секунд)
   Post subject:
Reply with quote

draft
Перед чекбоксом воткните поле "hidden" с таким же именем, но другим значением.
Если чекбокс включен - он затрёт значение этого поля.
Если нет - передано будет значение скрытого поля.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Jul 14, 2006 10:18 am (спустя 1 час 13 минут; написано за 1 минуту 34 секунды)
   Post subject:
Reply with quote

Наверное, все же это проблема решаема частично. Например, алгоритм может быть таким: если пришел POST-запрос, но в нем нет значения для checkbox-а, то считать, что пришел снятый чекбокс. К сожалению, для GET-а только такой способ не пройдет.

Но, действительно, hidden-поле работает во всех случаях.
Back to top
View user's profile Send private message Send e-mail
ЖЗ
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Aug 16, 2006 6:30 am (спустя 1 месяц 1 день 20 часов 11 минут; написано за 4 минуты 13 секунд)
   Post subject:
Reply with quote

Большое спасибо за HTML_FormPersister, очень упрощает работу. Столкнулся с такой проблемой, необходимо было в некоторых случаях делать чекбокс недоступным, т. е. прописывать свойство disabled. В принципе ничего сложного, но, на мой взгляд, было бы логичнее и красивее иметь возможность делать это средствами HTML_FormPersister.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Aug 16, 2006 9:47 am (спустя 3 часа 17 минут; написано за 2 минуты 41 секунду)
   Post subject:
Reply with quote

Вы ошибаетесь, это не задача данной библиотеки. Она просто не будет знать, откуда ей брать признак disabled для чекбокса, ибо все источники, какими она располагает, - это сам текст формы плюс $_GET и $_POST.

Можете использовать внешний слой библиотеки, HTML_SemiParser для этого. Сделайте для объекта addTag('input', 'tag_input_handler'), напишите функцию tag_input_handler($tag) и обрабатывайте в ней элементы с $tag['type'] == 'checkbox'.
Back to top
View user's profile Send private message Send e-mail
ЖЗ
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Aug 16, 2006 10:24 am (спустя 36 минут; написано за 7 минут 31 секунду)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
 ибо все источники, какими она располагает, - это сам текст формы плюс $_GET и $_POST
Из $_GET или $_POST, например (хотя сложно представить как оно выглядеть будет), просто я пользовался возможностью автозаполнения формы, и почему-то показалось, что было бы оч удобно что-то добавить (или убавить) в $_GET или $_POST и получить требуемое. В конце-концов есть же и исключение - при автогенерации тэгов option источники не ограничены вышеперечисленными. Так что можно, наверное, что-то и добавить. Может быть..
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 12:22 am (спустя 1 месяц 9 дней 13 часов 58 минут; написано за 33 секунды)
   Post subject:
Reply with quote

Теперь HTML_FormPersister можно рассматривать как часть комплекса MetaForm.
Настоятельно рекомендую все пользователям FormPersister-а: dklab.ru/lib/HTML_MetaForm/
Back to top
View user's profile Send private message Send e-mail
avgera
Заглянувший



Joined: 20 Sep 2006
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 2:30 pm (спустя 14 часов 7 минут; написано за 4 минуты 31 секунду)
   Post subject:
Reply with quote

Дмитрий Кóтеров
Здравствуйте.
Хотелось бы предложить сделать небольшое дополнение к существующему модулю. В частности автоматическое добавление hidden-поля с именем MAX_FILE_SIZE, если в форме присутсвует поле file и добавление параметра enctype="multipart/form-data" в тег form. MAX_FILE_SIZE можно определять например так
Code (php): скопировать код в буфер обмена
        $value = ini_get (www.php.net/ini_get)('upload_max_filesize');
        switch(substr (www.php.net/substr)($value, strlen (www.php.net/strlen)($value) - 1, 1)) {
            case 'k': case 'K': $value = doubleval (www.php.net/doubleval)($value)*1024; break;
            case 'm': case 'M': $value = doubleval (www.php.net/doubleval)($value)*1024*1024; break;
            default: $value = doubleval (www.php.net/doubleval)($value); break;
        }
Спасибо за внимание.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 3:28 pm (спустя 58 минут; написано за 41 секунду)
   Post subject:
Reply with quote

Уточните, пожалуйста, зачем вообще нужен MAX_FILE_SIZE. Я не совсем понимаю. Вроде как браузер это поле игнорирует, PHP - на первый взгляд тоже.
Back to top
View user's profile Send private message Send e-mail
avgera
Заглянувший



Joined: 20 Sep 2006
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 5:11 pm (спустя 1 час 42 минуты; написано за 54 секунды)
   Post subject:
Reply with quote

Да, Вы правы. Никакой разницы, что есть это поле, что его нет.
А как на счет атрибута формы enctype?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 5:12 pm (спустя 1 минуту 17 секунд; написано за 36 секунд)
   Post subject:
Reply with quote

Я думаю, что его добавление на совести программиста все же.
Почему Вы считаете, что эту возможность нужно обязательно включать в FormPersister?
Back to top
View user's profile Send private message Send e-mail
avgera
Заглянувший



Joined: 20 Sep 2006
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Tue Sep 26, 2006 6:40 pm (спустя 1 час 28 минут; написано за 2 минуты 46 секунд)
   Post subject:
Reply with quote

В общем-то для удобства, чтобы не приходилось каждый раз при вставке поля file вспоминать о том, что еще где-то что-то надо дописать.
На мой взгляд любая библиотека призвана в первую очередь облегчить жизнь программиста.
Кстати, я забыл Вас поблагодарить за отличный модуль!
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Oct 27, 2006 4:44 pm (спустя 1 месяц 22 часа 3 минуты; написано за 32 секунды)
   Post subject:
Reply with quote

version 1.104:
- now "confirm" attribute processed for "image" inputs.
Back to top
View user's profile Send private message Send e-mail
Путник
Участник форума



Joined: 19 Mar 2006
Posts: 40
Карма: 1
   поощрить/наказать


PostPosted: Sun Oct 29, 2006 1:06 pm (спустя 1 день 20 часов 21 минуту; написано за 5 минут 52 секунды)
   Post subject:
Reply with quote

Пожалуйста, помогите разобраться с возможностью автозаполнения форм, в частности для <SELECT>. В настоящее время и использую Smarty и код выглядит так:
Code (php): скопировать код в буфер обмена
$smarty->assign('goods', $goods);
$smarty->display('my_form.html');
Code (html): скопировать код в буфер обмена
<select (december.com/html/4/element/select.html) name="goods"> (december.com/html/4/element/.html)
<option> (december.com/html/4/element/option.html)</option>
{html_options values=$goods output=$goods selected=$smarty.get.goods|default:""}
</select>
Хотелось бы сделать так:
Code (php): скопировать код в буфер обмена
include_once "HTML/FormPersister.php";
ob_start (www.php.net/ob_start)(array (www.php.net/array)('HTML_FormPersister', 'ob_formPersisterHandler'));
$_POST['goods'] = $goods;
$smarty->display('my_form.html');
Что нужно написать в HTML-шаблоне, чтобы FormPersister сформировал теги OPTION?
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Oct 29, 2006 4:54 pm (спустя 3 часа 48 минут; написано за 45 секунд)
   Post subject:
Reply with quote

Code (php): скопировать код в буфер обмена
$GLOBALS['SELECT_goods'] = $goods;
Code (html): скопировать код в буфер обмена
<select (december.com/html/4/element/select.html) name="goods"> (december.com/html/4/element/.html)
<option> (december.com/html/4/element/option.html)</option>
$SELECT_goods
</select>
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Oct 29, 2006 4:55 pm (спустя 32 секунды; написано за 28 секунд)
   Post subject:
Reply with quote

Но, на самом деле, можете оставить и вариант с html_options: он также поддерживается без всяких изменений.
Back to top
View user's profile Send private message Send e-mail
MVH
Участник форума



Joined: 01 May 2003
Posts: 261
Карма: 2
   поощрить/наказать


PostPosted: Wed Nov 01, 2006 3:09 pm (спустя 2 дня 22 часа 14 минут; написано за 2 минуты 48 секунд)
   Post subject:
Reply with quote

Ошибка небольшая

FormPersister.php
строка 348 (в последней версии скрипта)
Код:
Code (php): скопировать код в буфер обмена
if (is_scalar (www.php.net/is_scalar)($value) && ini_get (www.php.net/ini_get)('magic_quotes_gpc')) {
Лучше заменить на:
Code (php): скопировать код в буфер обмена
if (is_scalar (www.php.net/is_scalar)($value) && get_magic_quotes_gpc (www.php.net/get_magic_quotes_gpc)()) {
Потому что, если например в .htaccess'е задано "php_value magic_quotes_gpc off", то ini_get('magic_quotes_gpc') вернёт строку, и получится true, а get_magic_quotes_gpc() правильное числовое значение вернёт.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Nov 01, 2006 3:18 pm (спустя 9 минут; написано за 8 секунд)
   Post subject:
Reply with quote

Спасибо, исправил.
Back to top
View user's profile Send private message Send e-mail
roman
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Nov 21, 2006 9:30 pm (спустя 20 дней 6 часов 12 минут; написано за 51 секунду)
   Post subject:
Reply with quote

возможно ли определить начало коментария и как определить конец тега?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Nov 21, 2006 11:58 pm (спустя 2 часа 27 минут; написано за 1 минуту 42 секунды)
   Post subject:
Reply with quote

Комментарии, а также тела контейнеров
var $sp_IGNORED = array('script', 'iframe', 'textarea', 'select', 'title');
библиотекой игнорируются, их отследить нельзя. Можете, впрочем, использовать регулярные выражения для поиска.

Что касается конца тэга, то - только через контейнеры. Можете, впрочем, попробовать $obj->addTag('/tag', 'yourCloseTagHandler'), но не факт, что это сработает (я не пробовал).
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML