Всем доброго времени суток.
Есть форма в ней заполняется fieldset1 с адресом1(регион(список), город(список), улица(текстовое поле)) и fieldset2 с адресом2(регион(список), город(список), улица(текстовое поле)).
В fieldset2 нужно реализовать кнопку(*возможность на что то нажать) "Использовать данные адреса1".
Побывала:
1. С помощью jQuery копипастить value c адреса1 в адрес2 ... всё хорошо если форма заполнена корректно. Если же форма не валидна, то ошибка:
"Обнаружен неверный выбор. Свяжитесь с администратором сайта"
Ну понятно, друпал думает что кто то хочет хакнуть форму...
2. и тут мне пришла мягко говоря гениальная идея - делать это аяксом...из соображений что можно будет поменять значения $form и $form_state и оно будет жить.
Как всегда всё хорошо если форма заполнена корректно. Если же форма не валидна, то в адрес2 отображается не правильный список городов.
Например, если в адрес1 был список регионов р1,р2,р3 и мы выбрали регион р2 нам подгрузился список городов р2g1,р2g2 и мы выбрали город р2g2 ... нажали в fieldset2 кнопку ... "Использовать данные адреса1" ... нам всё красиво подгрузилось с fieldset1 ... тогда сабмитим форму(она у нас не полностью заполнена поэтому не валидна) смотрим на список городов fieldset2 а там не те значения которые были подгружены батоном "Использовать данные адреса1".
Вот так вкратце. Может кто знает как исправить этот бред или написать более грамотно ... а то аякс тут как 5 колесо ...
Всем большое спасибо за внимание и помощь
Комментарии
Возможно будут хорошими примерами:
[module=conditional_fields]
[module=webform_conditional]
Думаю, не то что нужно. Не обязательно использовать модуль ... можно и #states для зависимых полей.