Drupal 7. Диамические select в форме

Главные вкладки

Аватар пользователя anzebra anzebra 18 января 2012 в 15:56

Всем доброго времени суток.

Есть форма в ней заполняется 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 колесо ...

Всем большое спасибо за внимание и помощь Smile

Комментарии