Загрузка скрипта в окне colorbox_node

Главные вкладки

Аватар пользователя diphoman diphoman 29 декабря 2012 в 11:04

Всем привет!
Есть форма, созданная с помощью модуля Webform. Возникла необходимость стилизовать поля этой формы под общий дизайн сайта. Поскольку select-ы с помощью CSS не стилизуются, воспользовался этим JQuery-плагином. На странице всё работает отлично. Но мне нужно, чтобы данная форма открывалась по ссылке из статьи или блока во всплывающем окне. Для этих целей использую модуль Colorbox_node. Сама форма открывается без проблем, а вот JQuery-плагин для стилизации не срабатывает, и поэтому внешний вид поля с списком (select) остаётся без оформления. Так вот, может кто знает, как заставить этот плагин срабатывать во всплывающем окне colorbox?

Комментарии

Аватар пользователя Nikit Nikit 29 декабря 2012 в 12:12

Если в теле, то нужно в colorbox прописать реаттач этого плагина. А iframe должен был сам сам выстрелить, странно...

Аватар пользователя diphoman diphoman 29 декабря 2012 в 12:20

В том-то и дело, что странно. Я тоже был уверен, что в iframe скрипт сам подключится, тем более, что сам скрипт у меня подключен для всего сайта, а не для отдельной страницы. А не подскажите, как можно к странице его реаттач сделать? Я просто только "учусь" и некоторые вещи для меня не очевидны.

Аватар пользователя Nikit Nikit 30 декабря 2012 в 4:50

В colorbox обязано быть событие, которое стреляет при открытии попап-окна. Вот в этом коде нужно сделать то же, что вы сделали для аттача скрипта в контролы.

Аватар пользователя diphoman diphoman 30 декабря 2012 в 8:19

Я нашёл это событие в Colorbox, но никак не могу заставить его работать. Оно называется onComplete. Вот здесь даже есть пример, как его использовать. Я перепробовал, как мне кажется, все варианты, но так ничего и не вышло.
Инициализация скрипта стилизации элемента формы select осуществляется в html.tpl.php с помощью кода:

<script type="text/javascript">
  (function($) {
    $(function() {
      $('select').styler();
    });
  })(jQuery)
</script>

С использованием события onComplete у меня получился такой код:

<script type="text/javascript">
  (function($) {
    $('select').colorbox({onComplete:function(){
      $('select').styler();
    }});
  })(jQuery)
</script>

Уже и не знаю, что делать. Может я не в то место вставляю его (хотя ведь без colorbox-а всё работает)?

Аватар пользователя Nikit Nikit 30 декабря 2012 в 13:34

Firefox - консоль ошибок прочистите, и обновите, попробуйте сделать попап, посмотрите есть ли ошибки в консоли...

Аватар пользователя diphoman diphoman 31 декабря 2012 в 8:11

У меня сайт только в разработке на локальной машине. Поэтому придётся разбираться самому. Но всё равно, большое спасибо за помощь!

Аватар пользователя diphoman diphoman 31 октября 2013 в 7:06

Проблему так и не решил. Просто для этой формы использовал другой скрипт (простой, не помню где нашёл) и темизировал его.

Аватар пользователя sergeybelya sergeybelya 31 октября 2013 в 11:55

diphoman wrote:
Проблему так и не решил. Просто для этой формы использовал другой скрипт (простой, не помню где нашёл) и темизировал его.

Вам нужно было вызывать плагин стилизации по событию ajaxSucess, так как форма загружается в колорбокс через Аякс.