Обновление капчи без перезагрузки страницы

Пример решения показа капчи с возможностью перезагрузки картинки по ajax-технологии

Показ капчи вместе с перезагрузкой картинки начинается с первоначального вывода:

	 <? $code = $APPLICATION->CaptchaGetCode(); ?>
	 <img id="CaptchaImage" src="/bitrix/tools/captcha.php?captcha_sid=" alt="CAPTCHA">
	 <input name="captcha_sid" value="" type="hidden">
	 <span id="CallreloadCaptcha"></span>
	 <input class="inputtext form-control req" value="" maxlength="50" size="30" name="captcha_word" type="text">

Первая строка получает сгенерированный системой код. Дальше - изображение, которое показывает данный код, поле, в которое вписывается id кода, иконка для запуска механизма смены картинки и поле для ввода пользователем значения. Все просто.

Стили - по вашему усмотрению, чтобы все красиво вписывалось в дизайн.

Дальше - пишем обработчик на смену изображения по клику на иконку перезагрузки: 

	 $('#reloadCaptcha').click(function(){
	 $.getJSON(ajaxUri,{'action':'reloadAjax'}, function(data) {
	 $('#CaptchaImage').css('opacity','0.1');
	 $('#CaptchaImage').attr('src','/bitrix/tools/captcha.php?captcha_sid='+data);
	 $('#captcha_sid').val(data);
	 $('#CaptchaImage').css('opacity','1');
	 });
	 return false;
	 });

ну и наконец, в файле, который будет принимать запрос к серверу, который прописываем в переменной ajaxUri, пишем:

	<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php'); 
	echo json_encode($APPLICATION->CaptchaGetCode()); ?>

Количество показов: 8744
17.08.2015

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.