Обновить
32
0
Бердников Алексей@Groove

Пользователь

Отправить сообщение
[irony]
После его фразы — "… постараюсь изыскать средства" и того, как он уронил планшет на пол, организаторам надо было крепко пожать ему руку и торжественно сказать:
— «Поздравляем! Вы только что купили Galaxy Tab!»
[/irony]
Убрал лого, сменил цветовую гамму — теперь не должно быть похоже.
Зато добавил новый элемент: jquickform.ru/?page=elements_hierselect
>>У вас можно сделать, чтобы при выборе в select-e производителя автомобилей в следующий сразу же подгружались все марки этого производителя,
>>а в — третий, допустим, все возможные цвета? И без уличной магии, желательно.
В принципе можно, в базовом пакете HTML_QuickForm2 есть такой элемент, добавил пример использования jquickform.ru/?page=elements_hierselect

Специально для Вас сделал пример, в котором ЧЕТЫРЕ связанных селекта:
<?
  $form = new jQuickForm('simple');
  Jaguar::js()->addJs('/js/quickform-hierselect.js');
  $fieldset = $form->insertFieldset('Варианты использования text');

  $select1[0]    = 'Toyota';
  $select2[0][0]  = 'Corolla';
  $select3[0][0][0] = 'Красный';
  $select4[0][0][0][1] = 'Дизель';

  $select3[0][0][1] = 'Синий';
  $select4[0][0][1][0] = 'Карбюратор';
  $select4[0][0][1][1] = 'Дизель';

  $select2[0][1]  = 'Mark II';
  $select3[0][1][0] = 'Зеленый';
  $select4[0][1][0][0] = 'Карбюратор';

  $select3[0][1][1] = 'Красный';
  $select4[0][1][1][0] = 'Карбюратор';

  $select3[0][1][2] = 'Синий';
  $select4[0][1][2][0] = 'Дизель';

  $select1[1]    = 'ВАЗ';
  $select2[1][0]  = '2101';
  $select3[1][0][0] = 'Зеленый';
  $select4[1][0][0][0] = 'Карбюратор';

  $select2[1][1]  = '2109';
  $select3[1][1][0] = 'Синий';
  $select4[1][1][0][0] = 'Карбюратор';

  $select1[2]    = 'ГАЗ';
  $select2[2][1]  = '31029';
  $select3[2][1][0] = 'Зеленый';
  $select4[2][1][0][0] = 'Карбюратор';

  $select3[2][1][0] = 'Красный';
  $select4[2][1][0][0] = 'Карбюратор';

  $select3[2][1][2] = 'Синий';
  $select4[2][1][2][0] = 'Карбюратор';

  $sel = $fieldset->addElement('hierselect', 'auto')->setLabel('Выбор автомобиля:')->addClass('col4');
  $sel->loadOptions(array($select1, $select2, $select3,$select4));
  $fieldset->insertInputSubmit('Post!','save');
?>


* This source code was highlighted with Source Code Highlighter.


На следующей неделе выпущу обновление, он там появится — пока вручную добавил на сайт пример, еще даже в SVN нет.
Это примерно то, о чем Вы спрашивали? Или нужна AJAX-подгрузка в зависимые элементы? тут все в inline-javascript собирается
В Вашем случае (если есть уже сверстанная очень красивая и удобная форма в HTML) очень подойдут эти решение:
zforms.ru/docs/dependencies/enabled/
zforms.ru/docs/dependencies/options/
zforms.ru/docs/dependencies/classes/
Николай, не собираюсь никого уговаривать, но изучать практически ничего и не придется, бОльшую часть потребностей можно без знания API использовать, работает автокомплит в IDE — никаких вызовов магических функций с непонятными параметрами.

Если Вы свои нужды покрываете «Жучкой и Пых-Пыхом» — значит Вам это не нужно, только и всего!

Топик для тех, кому это нужно — я просто поделился еще одним вариантом работы с формами, который НЕ претендует на звание единственно правильного решения.
Пожалуй, соглашусь — внес изменения, сейчас будет так для Коханы:
<?
$this->template = new View('module/page');
$this->template->jquickform->css = Jaguar::css()->getAll();
$this->template->jquickform->js = Jaguar::js()->getAll();
$this->template->jquickform->form = $form;
?>

Разделять эти вещи все равно требуется, так как стили должны быть в HEAD, форма внутри BODY, а скрипты перед закрывающимся BODY.
Это дает возможность не заморачиваться тем, что в шаблоне будут постоянно подключенные, абсолютно не нужные стили и скрипты, а подключать их по мере необходимости частями, т.е. генерировать на лету.
Отвечу сам:
проверка электронного адреса на клиенте — регекспом
проверка электронного адреса на сервере — filter_var()

Правильнее было бы поризводить AJAX-валидацию, но дать такую возможность (добавление ТОЛЬКО клиентского правила) следовало, мало ли что может понадобиться разработчику.
Отвечает автор HTML_QuickForm2 — Sad Spirit:
«ну это на случай если проверка на клиенте и на сервере будет СИЛЬНО разная»
Спасибо за отзыв, учту в следующих версиях — добавлю конфигуратор, чтобы запускалось из любого места.
Изначально префикс «j» означает «javascript»/«jaguarsoft», был введен потому, что возникало некоторое отклонение от базового пакета HTML_QuickForm2.
Про лого — согласен, уберу обязательно, шапка для сайта делалась на скорую руку, большее внимание уделялось функционалу и документации.
BitByBit.ru супер! Вроде бы уже все придумали в этой области, ан — нет!
Однажды один арабский мудрец сказал:
للأعيان وعدد أعبحت الشعببانية يتم ماعية و تعيينهمللأعياننواب حسب الدستور المعدل عام أصبحت إسبانيا دولة قانون إجتماعية و ديمقراطية تحت نظام ملكي برلماني. الملك منصبه فخري و رن و واحدئيس الوزراء هو الحاكم الفعلي للبلاد. البرلمان الإسباني مقسم الى مجلسين واحد للأعيا وعدد أعضاء يبل عين و واحد للنواب و عدد نتائج الانتخابات نائب. نتائج الانتخابات الأخير مباشرة من أصبحت الشعبسنوات، بينما سنوات، بينما يعين عنتخاباتضو من مجلس الأعيان و ينتخب الباقون من الشعب قبل البرلمان اعتماداً على نتائج الانتخابات النيابية. أهم الأحزاب الإس أصمقسم الى مجلسين واحد للأعيان وعدد الشعببانية يتم ماعية و تعيينهمللأعيان

Красиво, не правда ли?
Особенно вот в этом месте:

الإس أصمقسم الى
… а так же «принципиально новый» :)
«Чтобы жить – надо работать, а чтобы разбогатеть – надо придумать что-то еще» (Альфонс Нарр).
Идея хорошая, но судьба ее будет, скорее всего, похожа на судьбу «meta-keywords».
Вы тоже иронию не заметили в моем комментарии?
Ответил #тут
Там вообще-то смайлик в конце текста ;)
Это же очевидно! Они короткие, значит и просто запомнить! ;)
и дополнение — спаленные темы больше не работают…

Информация

В рейтинге
Не участвует
Откуда
Курган, Курганская обл., Россия
Дата рождения
Зарегистрирован
Активность