- AJAX — проблемы с JS и CSS компонент
- Как вынести компонент на загрузку через AJAX
- Ajax режим в bitrix:iblock.element.add.form
- Не работают сторонние скрипты в открытом модальном окне Fancybox?
- Разработчик на Битрикс и Django
- Делаем ajax формы в битрикс на страницах и в всплывающих окнах
- Добавить комментарий Отменить ответ
AJAX — проблемы с JS и CSS компонент
Добрый день!
Есть идея реализации странички с использованием AJAX:
На странице размещается вывоз 3х компонент, вводится переменная (допустим $_GET[«show»]), состояние которой и определяет, какой компонент отображать.
Вот идея и заключается в том, чтобы отображать эти компоненты без перезагрузки страницы.
При работе без ajax (т.е. переходе по ссылкам) проблем нет.
Столкнулся со следующей проблемой:
У меня есть страница /personal/index.php, ее структура аналогична структуре описаной в этом блоге , только компоненты используются
- bitrix:sale.basket.basket
- bitrix:subscribe.edit
- bitrix:main.profile
Проблема в том, что, заходя в раздел, я попадаю на компонент bitrix:sale.basket.basket — все отлично. Когда я перехожу на вкладку с bitrix:main.profile, компонент подгружается, но не работают его JS и CSS.
Если зайти сразу на страницу с профилем /personal/index.php?show=profile, то скрипты и стили работают, но проблема с другими компонентами, загружаемых динамически (остается).
P.S.: ShowHeadStrings()?> и ShowHeadScripts()?> в head’е шаблона сайта есть.
Пробовал вываливать скрипты и стили компонент на страницу, еще до их вызова, т.е. сразу 3х компонент, внезависимости от того, какой потом вызовут.
Кто подскажет как быть, или может другой способ реализации?
(скрипты, подгруженные ajax’ом не доступны — почему?)
Источник
Как вынести компонент на загрузку через AJAX
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Отловить загрузку через ajax
Всем доброго времени суток. Есть такой вопрос. Как можно отловить загрузку элемента через ajax? А.
Как в dll вынести и использовать Indy компонент?
Случилась проблема, не могу Indy компонент, как и любой другой вынести в DLL для использования? Это.
Как реализовать ajax загрузку
Доброго дня. Хочу реализовать загрузку контента аяксом, и оставить хедер, меню и футер. Делаю это.
Вынести загрузку и парсинг в отдельный поток
Ребята,привет. Есть приложение,калькулятор и есть активность валюта,где конвертация валюты.
Связать два компьютера с 1С через LAN или как то через выгрузку и загрузку даних
Требуется как то по простому связать два компа, чтобы на одном вводить расходы, а на другом.
Как задать время на компонент через компонент таймер
Есть у меня несколько действий к примеру как при наведении курсора на компонент он где-то за 2-3.
var result = $.ajax (< url: "wmark.php", type: "POST", data: <"column": column.
// Программа тестирует студента по какому-либо предмету обучения using System; using.
Как сделать загрузку сайта через edit?
При нажатии на кнопку загружается определенный сайт к примеру яндекс,тоесть пользователь не сможет.
Как реализовать загрузку сцены через OnMouseUpAsButton?
Необходимо написать часть скрипта для Unity, чтобы при тапе на кнопку загружалась сцена.
Источник
Ajax режим в bitrix:iblock.element.add.form
Доброго времени суток. В публичной части сайта размещен компонент bitrix:iblock.element.add.form, шаблон пока что не модифицирован. В вызов компонента для работы в ajax-режиме (форма должна открываться в попапе) добавлено следующее:
Ajax-режим срабатывает нормально 1 раз, если я нажимаю submit второй раз — остается вместо страницы только сама форма, ломается обработчик судя по всему. При этом, если я залогиненым смотрю страницу, сверху есть панель администратора, все работает нормально, сколько бы раз я ни нажимал на сабмит. Какого-то скрипта не хватает, почему так? Шапка сайта такая:
Если кто столкнется — на данный момент лечится отключением оптимизации js в настройках главного модуля.
Если подробнее, то на ответе от компонента биндятся на битрикс-событие onAjaxSuccess некие действия, в частности по перебинду сабмита формы. Это событие не срабатывает, потому что в ответе в некоем массиве arAjaxPageData приходит пустой ключ SCRIPTS. PHP туда пишет все скрипты, если ajax запрос ($this->bInAjax, может это значит что-то другое) или если сайт «не js оптимизирован». $this->bInAjax в труе ставит функция ShowAjaxHead, которая вроде бы не вызывается при работе компонента в ajax-режиме, поэтому пришлось отключить «оптимизацию js», чтобы злополучный ключ SCRITPS был не пустой. Как-то так.
А у меня в режиме AJAX на мобильных устройствах. компонент bitrix:iblock.element.add.form работал не правильно, при успешном заполнении или при ошибке (не заполнено то то ) вместо подгрузки текста ошибки-сообщения, на странице оставалось только окно модуля.
Вылечил добавлением в настройки компонента
«AJAX_MODE» => «Y»,
«AJAX_OPTION_SHADOW» => «Y»,
(у меня на странице было два одинаковых компонента, добавлять строку «AJAX_OPTION_SHADOW» => «Y» пришлось в оба )
На пк без «AJAX_OPTION_SHADOW» => «Y» работало/ет без глюков
Источник
Не работают сторонние скрипты в открытом модальном окне Fancybox?
Объясняю поэтапно
1. Заказчик хочет сделать быстрый просмотр товара из списка товаров:
2. Реализую это следующим образом:
2.1. В шаблоне компонента списка товаров(catalog.section) создаю кнопку, которая будет открывать модалку с компонентом catalog.element
2.2. В script.js этого же шаблона навешиваю событие по клику на кнопку и через ajax fancybox открываю файл ajax_form.php в модалке:
2.3. Содержимое ajax_form.php:
3. В чем проблема.
3.1. Проблема в том, что catalog.element должен выглядеть так:
За смену и отображение картинок здесь отвечает slick, а к кнопке «Купить в 1 клик» привязан тот же fancybox, открывает модалку с формой и собственно если catalog.element не открывать в модалке через fancybox, а например открыть в обычном index.php, то все работает как на картинке.
3.2 А в модалке он выглядит так:
slick к галерее с изображениями не подрубился, и к кнопке «Купить в 1 клик» не подрубился fancybox
Впринципе по задаче все, но в качестве дополнительного материала добавлю. Я пытался решить вопрос эмпирическим путем и вот что обнаружил:
4. Решил протестить slick и flexbox отдельно от bitrix;
4.1 Скачал на комп openserver.
4.2 В корне сайта test.ru создал index.php, подключил jquery, fancybox и slick и создал кнопку которая открывает файл ajax.php в модалке:
4.2 В ajax.php создал кнопку которая открывает файл server-information.php в модалке:
4.3 Содержание server-information.php:
!!Продолжение в комменатриях топика!!
Источник
Разработчик на Битрикс и Django
Делаем ajax формы в битрикс на страницах и в всплывающих окнах
Рано или поздно, разработчик 1с-битрикс, задается вопросом: а как же мне сделать аякс форму в битриксе?
Не секрет, что в 1с-битрис «режим AJAX» можно включить практически в каждом компоненте в его настройках, но есть и такие компоненты в которых по каким то причинам нет этой настройки. Например возьмем такой компонент как «Добавление элементов инфоблока», вот код этого компонента:
и как видим в нем нет настройки «режим AJAX». Для того, чтобы форма стала работать с помощью ajax нужно добавить несколько элементов в массив настроек компонента, а именно:
в итоге получаем код компонента
Так же вы могли просто добавить нужные параметры в .parameters.php шаблона компонента bitrix:iblock.element.add и настройка «режим AJAX» появилась бы в компоненте.
Такой компонент уже можно использовать на страницах вашего проекта, но нам так же может понадобиться открывать форму в всплывающем окне, например fancybox. На странице есть ссылка Открыть форму по которой мы ожидаем получить всплывающее окно с формой и для этого мы делаем следующее:
1. Создаем страницу /form/ajax_form.php для формы и добавляем в нее наш компонент
2. Создаем шаблон «popup» с простым содержимым
В настройках сайта этот шаблон ставим для нашего файла с формой /form/ajax_form.php
3. javascript который откроет наше всплывающее окно.
Хочу заметить, что сначала я пробовал без создания дополнитльеного шаблона для страницы /form/ajax_form.php указывая плолог и епилог чтобы битрикс не вставлял шапку и подвал:
но дело в том, что при клике на кнопку результат открывался в новом окне, а не в сплывающем окне.
Если кто вкурсе как обойтись без созданния шаблона, то отпишитесь пожалуйста.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник