QuickForm: исчезающие и появляющиеся поля

bwana_php

Новичок
QuickForm: исчезающие и появляющиеся поля

Как при использовании QuickForm сделать что бы некоторые поля появлялись только если включена какая-то опция (то есть это делается с помощью JavaScript). Например если пользователь выбирает из select "новый раздел" как сделать что-бы при этом появлялось <input type="text" ...> для ввода имени нового раздела, а если выбирает опять существующий раздел что бы <input> исчезало?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: bwana_php
Как при использовании QuickForm сделать что бы некоторые поля появлялись только если включена какая-то опция (то есть это делается с помощью JavaScript).
Абсолютно так же, как и без QuickForm. :)
Если речь о готовых решениях, то я их не знаю.
 

bwana_php

Новичок
Да в принципе я тоже думал что как и без QuickForm. Вопрос в том как сделать что-бы об этом узнала QuickForm. Надо сделать скрытое поле required (с помощью addRule), так что если уж оно появилось то должно быть заполнено. Но если сделать его required то если оно не появится validate() возвратит false. Хотя предложить такой хак: дать ему значение по умолчанию, а если оно отображается, убрать его с помощью javascript. Я просто подумал может это предусмотрено и есть простой способ. По-поводу готовых решений ниче сложного: добавляешь атрибут style="display: none" и потом в javascript пишешь <element>.style.display = 'block'
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: bwana_php
Надо сделать скрытое поле required (с помощью addRule), так что если уж оно появилось то должно быть заполнено. Но если сделать его required то если оно не появится validate() возвратит false. Хотя предложить такой хак: дать ему значение по умолчанию, а если оно отображается, убрать его с помощью javascript. Я просто подумал может это предусмотрено и есть простой способ.
Другой способ --- написать свою функцию валидации и подключить её через addFormRule(). Но не факт, что это проще.
 
Сверху