Цепляем js-скрипт после ajax-вызова в Drupal 7

После выполнения загрузки данных по ajax, может потребоваться инициализация скриптов для только что полученного куска HTML.

Как данный механизм реализован в Drupal 7?

По большому счету, требуется добавить js код в секцию success после вызова /system/ajax. Такой хук предусмотрен. Событие называется ‘ajaxSuccess’, его нужно связать с контейнером, контент которого обновляется в результате запроса.

К примеру, рассмотрим практическую задачу — зацепиться к обновлению содержимого веб-формы (модуль webform), которая настроена на использование ajax (модуль webform ajax).

Для ajax-овых форм модуль добавляет в верстку дополнительный контейнер:

Именно он и обновляется при отправке данных.

Зацепка реализуется добавлением хука в глобальный js объект CMS Drupal в перечень поведения (behaviors):

В моём случае код ноды с формой webform был 1000.

У статьи появилось продолжение

Мало букафф? Читайте есчо !

Настраиваем и используем модуль profile2, Drupal 7

Апрель 7, 2015 г.

Поговорим о модуле profile2, Drupal 7. Модуль расширяет наши возможности в создании и управлении профилями пользователей. Мы сможем создать несколько ...

Читать

Добавляем кнопку регистрации на форму авторизации

Декабрь 23, 2025 г.

В этой статье мы рассмотрим, как добавить кнопку "Register" в форму авторизации в Drupal, которая будет перенаправлять пользователя на страницу регистрации. ...

Читать

Поддержка сайта на Drupal: зачем это нужно и как я с этим работаю

Май 21, 2025 г.

Drupal — мощная и гибкая система управления сайтом. Но без регулярной поддержки даже самый хорошо сделанный проект может прийти в запустение. В этой статье ...

Читать

Получить имя поля ключа entity в Drupal 7

Апрель 6, 2021 г.

У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...

Читать
 

Комментарии к «Цепляем js-скрипт после ajax-вызова в Drupal 7»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: