Добрый день! Помогите решить проблему, пожалуйста. На сайте интегрированы веб формы из crm битрикс24. Все работает отлично, кроме одной. Есть модальное окно, на нем расположена кнопка формы. При нажатии на нее ничего не происходит: модальное окно не закрывается и форма не открывается ((
Как я поняла, проблема заключается в скрытой области. То есть всплывающее окно имеет класс hidden и в этом div находится форма Б24. Проблема пока не решена
Смысл в том что содержимое вашего модального окна появляется только в момент нажатия на кнопку "подробнее" у товара. Т.е. до этого кнопки "Заказать сервер" не существует, а следовательно и скрипт не подписывается на её событие.
Станислав Шарапов написал: Смысл в том что содержимое вашего модального окна появляется только в момент нажатия на кнопку "подробнее" у товара. Т.е. до этого кнопки "Заказать сервер" не существует, а следовательно и скрипт не подписывается на её событие.
b7music написал: id="spHTMLFormElementPrototypeScript" Это он? По крайней мере это единственный скрипт который в head. Остальные в body. Или не почистили кэш.
Видимо да, не почистила. Вот сейчас все на месте id="bx24_form_button", но не работает!
Не важно где подключается скрипт, в head или в body. Тут важно понять как работают обработчики событий в js в принципе. И то что нельзя повесить обработчик на событие элемента которого нет. Есть только обходные пути, когда обработчик вешается на родительский элемент, а уже в обработчике проверяется на каком именно дочернем элементе было событие и если на нужном, то выполняем действие. В jQuery для этого есть .delegate(), в УС - https://dev.1c-bitrix.ru/api_help/js_lib/kernel/events/bx_binddelegate.php
Но всё это лирика и проблему по большому счёту не решит.
У вас есть 2 варианта:
1. Писать в тех. поддержку битрикса в надежде на помощь. 2. Сделать для этого модального окна "скелет", который всегда есть на странице и в нём есть эта кнопка.