Ссылки и режим ajax в компонентах
Опубликовано 11 Июл 2010
Разработчики 1с-Битрикс максимально упростили использование режима ajax в своем продукте – все подходящие элементы (ссылки, кнопки форм и т.д) в шаблоне компонента автоматически дополняются javascript-обработчиками. Иногда же возникает необходимость «отменить» ajax для какой-либо ссылки. Сейчас я рассмотрю несколько способов, как такое можно реализовать.
Переход по ссылке будет осуществлен без технологии ajax, если выполнено одно из условий:
1. Наличие внутри тега <a> атрибутов «onclick» и «target». Отмечу, что target для ссылок делает невалидным документ в doctype strict
2. Если содержимое атрибута «href» начинается с:
- символа #, т.е. является якорем
- mailto: – является адресом e-mail
- javascript: – является скриптом или его вызовом
3. Ссылка содержит символы :// – подойдет любая абсолютная ссылка
4. Ссылка ведет на страницу, отличную от страницы вызова компонента. Правило действует с учетом ЧПУ. Например, если в разделе /news/ лежит комплексный новостной компонент, настроенный на ЧПУ с кодами секций и элементов, то любая ссылка /news/word1/word2/ будет обрабатываться в режиме ajax, т.к. «реальный» адрес страницы – /news/index.php?..
Информация почерпнута из исходных кодов файла component_ajax.php. Найти его можно в каталоге /bitrix/modules/main/classes/general/


Алексей, вы бы привели примеры с работающими компонентами.
Например интересует компонент регистрация или авторизация. С аякс уведомлениями о заполнености полей и аякс уведомлением об успешной регистрации.