473 | 1 мин., 40 сек.
Сделать этот функционал можно с помощью обновления CAPTHCA на js Для реализации данной функциональности необходимо модифицировать код компонента, использующего CAPTCHA, следующим образом:/* CAPTHCA */
if ($arResult["CAPTCHA_CODE"] <> ''):
?>
<input
type="hidden"
name="captcha_code"
value="<?= $arResult["CAPTCHA_CODE"] ?>"/>
<img
id="captcha_image"
src="/bitrix/tools/captcha.php?captcha_sid=<?= $arResult["CAPTCHA_CODE"] ?>">
<small>Нажмите на картинку, что бы обновить</small>
<input
type="text"
size="30"
name="captcha_word"
tabindex="<?= $tabIndex++; ?>"
placeholder="Символы с картинки"
autocomplete="off"/>
<script>
document.addEventListener('DOMContentLoaded', function () {
var captchaImage = document.getElementById('captcha_image');
if (captchaImage) {
captchaImage.addEventListener('click', function () {
// Генерация случайного числа, чтобы избежать кеширования изображения
var randomNum = Math.random();
var newSrc = '/bitrix/tools/captcha.php?captcha_sid=<?= $arResult["CAPTCHA_CODE"] ?> &' + randomNum;
captchaImage.src = newSrc;
});
}
});
</script>
<?
endif;
/* end CAPTHCA */
Этот код добавляет JavaScript, который регистрирует событие "click" на изображении CAPTCHA. В случае клика, генерируется случайное число (randomNum) для избежания кеширования изображения. Затем формируется новый URL с уникальным идентификатором CAPTCHA (newSrc). Новый URL присваивается свойству src изображения, что приводит к его обновлению.
Спасибо за код М.Базарову
Сайт для салонов красоты - Антикризисное предложение для салонов красоты - сайт на битриксе + базовое seo за совершенно адекватные деньги. С наполнением сайта, гарантией и консультациями маркетолога. →→→