пятница, 20 мая, 2016 - 09:59

Для ajax форм требуются прятать сообщения.

Идея такая Drupal.behaviors выполняет при любом успешном получении ajax'ом данных.
Так что после вывода сообщений форм сработает ajax. А нам нужно только стрятать сообщение с задержкой.

В $messages пишем путь к элементу сообщений.
И delta время в миллисекундах.

Собственно код.

(function ($, Drupal, window, document, undefined) {
  var time_message_hide;

  Drupal.behaviors.message_hide = {
    attach: function (context, settings) {
      $(window).resize();

      var $messages = $('.messages');
      var delta = 3000;

      clearTimeout(time_message_hide);
      $messages.fadeIn();
      time_message_hide = setTimeout(function () {
        $messages.fadeOut();
      }, delta);
    }
  };
}) (jQuery, Drupal, this, this.document);

Я признаю, что это не самое лучшее решение.
Но если нет быстрой возможности добавить ajax commands решает проблемы быстро.

Привет идеальный код ;).

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.