Пример использования Ajax:
<script type="text/javascript">
BX.bindDelegate(
//change - событие происходит по окончании изменения значения элемента формы
// click - событие клика
document.body, 'change', {className: 'regid' }, //класс поля input
function () {
const dataid=this.getAttribute("data-id"); //id input или option
const IBLOCKID='4'; // id текущего инфоблока
const node = BX('res_row'); // id блока. сюда будем вставлять полученный html
const wait = BX.showWait('res_row');
const valokrug=BX("UF_OKRUG").value;
const valuik=BX("UF_UIK").value;
BX.ajax.post (
'<?=$templateFolder."/ajax.php"?>',
{data_id:dataid, IBLOCK_ID:IBLOCKID, okrug:valokrug, uik:valuik},
function (result) {
node.innerHTML = result;
BX.closeWait('res_row', wait);
});
});
</script>
В файле ajax.php
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
// поключаем модуль инфоблоков
CModule::IncludeModule('iblock');
$data_id=$_POST['data_id'];
$IBLOCK_ID=$_POST['IBLOCK_ID'];
print_r($_POST);
Использование режима ajax имеет свои особенности. Чтобы строка навигации в открываемой по ajax странице имела в цепочке навигации своё название, необходимо, что бы в шаблоне обязательно присутствовал элемент с id="navigation"
. Это необязательно должен быть div
, это может быть span
, h1
, p
и так далее.
Аналогично, для заголовка обязательно наличие элемента с id="pagetitle"
.