Запуск наложения через Javascript в Plone

#overlay #plone #jquery-tools

#наложение #plone #jquery-инструменты

Вопрос:

Я определил свое наложение для этого

     $j('#heise').prepOverlay(
    {   
        subtype: 'ajax',
        noform: function(el) {return noformerrorshow(el, 'close');}
    }
  

(который работает отлично).

Теперь мне нужно запустить наложение вручную.

Пользователь вводит некоторые данные в форму so, и после отправки формы результат должен отображаться внутри overflow. Изменение значения ‘href’ с помощью параметров формы не является проблемой, однако я не знаю, как вызвать появление наложения вручную через Javascript. Я нашел низкоуровневый метод API overlay () в jQueryTools, но здесь он не помогает. Есть идея?

Ответ №1:

Обычный способ открыть оверлей jQueryTools — через .load() overlay API, но .prepOverlay скрывает все это в собственной оболочке вместо оверлеев в ajax стиле. Вы можете сделать одну из двух вещей:

  1. Вызовите обработчик щелчков:

     jQuery('#heise').click();
      

    Это запустит правильные обработчики для всех событий нажатия.

  2. Вызывайте pb.ajax_click обработчик напрямую, привязывая this к вашему элементу:

     pb.ajax_click.apply(jQuery('#heise'));
      

    Это приведет только к запуску ajax обработчика щелчков.

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

1. Нет — это вызывает «»»Неперехваченную ошибку типа: не удается вызвать метод ‘load’ с неопределенной ошибкой»»»

2. @RestRisiko Вы сбились с курса, верно; я недостаточно подробно ознакомился с методом prepareOverlay. Для ajax создается обработчик кликов, который вы можете вызвать. Смотрите обновленный ответ.