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
Author: Simon, 2011-12-22

1 answers

Итак, проблема заключалась в том, что в моем модуле есть разные страницы, каждая из которых разделена в соответствующих файлах, например, mymodule.module, mymodule.page2.inc, mymodule.page3.inc и т. Д.

Проблема заключалась в том, что форма блока была в mymodule.page2.inc, поэтому, когда пользователь перешел на страницу 3, методы формы не загружались.

Решение состояло в том, чтобы скопировать все методы формы в mymodule.module, так как он похож на родительский элемент всех страниц, поэтому методы были доступно со всех страниц.

 1
Author: Simon, 2011-12-23 14:19:27