Як зробити ajax форми 1с-бітрікс в спливаючих вікнах, алексей Валєєв

готуємо форму

Все що вище цього шматка коду замінюємо на

Prolog_before.php підключить необхідні системі файли без виведення шапки шаблону сайту. вона в спливаючому вікні не потрібна. Скрипт ajax.js потрібен для роботи компонентів в режимі ajax.







Все що нижче підключення компонента замінюємо на

Epilog_after.php підключить необхідні системі файли без виведення підвалу шаблону сайту.

Якщо немає настройки «Включити режим AJAX»

Змусити працювати в режимі AJAX можна практично будь-який компонент в системі. Якщо немає необхідної групи параметрів у вікні налаштувань, то можна поступити 2 способами - додати потрібні параметри в .parameters.php шаблону компонента (про це можна почитати в документації), або вписати безпосередньо в код виклику рядки:

Для тестового прикладу з iblock.element.form.add.form код з доданими параметрами буде виглядати так:

Зазначеним способом можна показувати не тільки форми, але і будь-який інший статичний і динамічний контент.







Схожі записи

Перевірив ще раз все ще що раз
при вході - будь то правильний пароль або неправильний - відкривається нове вікно
при виході працює правильно
Може це пов'язано з якимось ще бібліотеками. Шаблон використовується самопісний

Зіткнувся з тією ж проблемою, тільки використовував комплексний компонент голосувань, результат голосування відкривався не в діалог вікні а на новій сторінці. Я вирішив просто підключити свій аякс, соответствено в компоненті відключив усі що пов'язано з Аяксом Бітрікс, а так же сам Скіпт /bitrix/js/main/ajax.js. Далі в шаблоні компонента, який відкривається першим в модальному вікні (в моєму випадку voiting.form), після першого рядка з підключенням прологу додав стандартний doctype, тут підключив всі потрібні файли для fancybox включаючи мій власний аякс і в кінці закрив.
Весь код виводить конвент в шаблоні помістив в обгортку
Скрипт з Аяксом виглядав так:
$ (Document) .ready (function () ......
$ ( «Form # voiting-form»). Bind ( «submit», function () $ .ajax (type. «POST»,
cache. false,
url. «Voiting.php»,
data. $ (This) .serializeArray (),
success: function (html) $ ( «div.voting-form-box-wrapper»). html (html);
>
>);
return false;
>);
... ..
>);
voiting.php - той файл, де викликається комплексний компонент голосування. В результаті все стало виводитися в одному модальном вікні. Зробити автоматично регульований розмір не вдалося, тому просто задав ширину і висоту вікна з нормальним запасом.







Схожі статті