проблема New Field Type и Ajax

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

Аватар пользователя Alex_2005z Alex_2005z 17 апреля 2012 в 22:46

Здравствуйте
Я создал новый тип поля (New Field Type) по примеру field_example. Пока не использовал Ajax, т.е. '#type' => 'textfield', все работало нормально (данные отображаются, проверяются, сохраняються).
Хочу реализовать:
У меня 4 'SELECT' поля..
в первый грузятся "страны"
второе поле загружается после выбора "Страны" и зависимо от неё *важно* загружаются "области", пока страна не выбрана - в нем отображается "выберите страну"
третье поле загружается после выбора "области" и зависимо от неё *важно* загружаются "районы", пока область не выбрана - в нем отображается "выберите область"
четвертое поле загружается после выбора "районы" и зависимо от него *важно* загружаются "города и села", пока район не выбран - в нем отображается "выберите район"
Данные для 'SELECT' берутся из своих таблиц (связанных между собой определенными полями).
-------------------------------
на drupal 6 через ahah у меня работало все отлично
------------------------------
на drupal 7 через ajax у меня возникли проблемы:
в hook_field_widget_form я использую для создания полей переменную $element (например, для области $element['oblast']), для ajax - 'callback' => 'np_st1';

Подскажите что мне писать вместо ???????? в функции ($element['oblast'], $element['rayon'],$form['oblast'], $form['rayon'] и т.д. не работают):
function np_st1($form, $form_state) {
return ?????????????;

Насколько я понял всю обработку ajax необходимо проводить в hook_field_widget_form, а не в np_st1
Если я использую вместо $element переменную $form, отображается 2 одинаковые формы. Первые 2 'SELECT' как-то работают, но нет возможности выбрать другую страну - не срабатывает второй 'SELECT' (пишет выбранное не соответствует данной стране (понятно, но обнулить не получается))

Подскажите как правильно организовать подобную функциональность (или, может быть, как делать отладку ajax)

Комментарии