Бриф в формате .doc Заполнить бриф

Обновление CAPTCHA в «1C-Битрикс»

Так как потребуется получить новую картинку CAPTCHA без перезагрузки страницы, нам потребуется использовать технологию AJAX. При этом необходимо создать java-скрипт для клиентской части и php-скрипт для сервера. Для клиентского скрипта используем библиотеку JQuery.

function cptRefresh() {
      var countOfexec = 0;
      var code = $("#sid").val();

      return function() {
        if(countOfexec < 5) {
           var timestamp = new Date();
           $('#code').attr("src", "/bitrix/tools/captcha.php?captcha_sid="+code+"×tamp="+
timestamp.getTime());
        } else {
           $.get("/chat/chat.php", function(data){
              $("#sid").val(data);
              $('#code').attr("src", "/bitrix/tools/captcha.php?captcha_sid="+data);
           });
           countOfexec = 0;
        }
        return ++countOfexec;
      }
}
var refresh = cptRefresh();

Функцию refresh нужно повесить на событие, которое вызывается при клике на текст "обновить картинку". В шаблоне компонента для тега вывода каптчи нужно установить id="code", а у скрытого поля, которое передает идентификатор капчи, установить id="sid".

// Подключаем класс битрикса для работы с captcha
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");

// Создаем экземпляр класса
$cpt = new CCaptcha();

// Удаляем текущую капчу
$cpt->Delete($_REQUEST['captcha_sid']);

// Генерируем и выводим код новой капчи
echo htmlspecialchars($APPLICATION->CaptchaGetCode());
© Студия веб-дизайна «IT Сфера». 2010
Сайт работает на системе
«1C-Битрикс: Управление сайтом»
Яндекс.Метрика