Ajax работает на 1 странице
У меня есть форма, которая использует ajax для фильтрации из раскрывающегося списка в другой раскрывающийся список, а затем у меня есть настройка ajax на кнопке "Отправить", чтобы отправить всю форму через ajax.
На главной странице модуля все работает нормально, но ajax не работает на других страницах модуля.
Я не вижу никаких ошибок javascript в консоли, и казалось, что все файлы javascript, связанные с ajax drupal, были загружены вместе со страницей.
В чем может быть проблема быть?
Спасибо!
Обновление:
Я использую Drupal 7.9. Код, который я использую для отправки формы в ajax, следующий:
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Transfer'),
'#submit' => array('ajax_create_transaction_submit'),
'#ajax' => array(
'callback' => 'ajax_create_transaction_callback',
'wrapper' => 'user_transfer_panel',
'effect' => 'fade',
'progress' => array(
'type' => 'throbber',
'message' => t('Processing transfer. Please wait...'),
),
)
);
Этот код работает, но только на 1 странице в моем модуле.
1 answers
Итак, проблема заключалась в том, что в моем модуле есть разные страницы, каждая из которых разделена в соответствующих файлах, например, mymodule.module, mymodule.page2.inc, mymodule.page3.inc и т. Д.
Проблема заключалась в том, что форма блока была в mymodule.page2.inc, поэтому, когда пользователь перешел на страницу 3, методы формы не загружались.
Решение состояло в том, чтобы скопировать все методы формы в mymodule.module, так как он похож на родительский элемент всех страниц, поэтому методы были доступно со всех страниц.