Як відобразити кілька рекапштів на одній сторінці?


102

Я маю 2 форми на одній сторінці. В одній із форм є рекаптш, що відображає весь час. Інший повинен відображати повторне захоплення лише після певної події, наприклад, збільшення кількості спроб входу. Тож бувають випадки, коли мені знадобляться 2 повторні описи на одній сторінці. Чи можливо це? Я знаю, що, ймовірно, міг би використовувати один для обох, але, як я маю макет, я б вважав за краще 2. Спасибі.

Оновлення: ну, мабуть, можливо, це не можливо. Чи може хтось порекомендувати іншу бібліотеку захоплення використовувати поряд з reCaptcha? Мені дуже хочеться мати одну капчу на одній сторінці.

Оновлення 2: Що робити, якщо кожну форму помістити в рамку? Це було б прийнятним рішенням?


Хіба ви не могли просто двічі відобразити ту саму?
Тайлер Картер

1
Я спробував це. Коли я намагаюся дублювати код captcha, він буде просто відображати капчу, що приходить першим
ой

Усі, хто стикається з цим новим API для recaptcha, це можливо, використовуючи явне завантаження, описане з прикладами в документах на developers.google.com/recaptcha/docs/display#recaptcha_methods
El Yobo,

3
Iframe має бути можливим, але це поганий спосіб вирішення проблеми, порівняно з використанням JavaScript, як у Hüseyin Yağlıвідповіді . Більшість браузерів повинні підтримувати JavaScript, а reCAPTCHA за замовчуванням все одно використовує JavaScript. Я не знаю, хоча що потрібно зробити для вирішення проблеми без підтримки JavaScript.
Едвард

Відповіді:


14

Аналогічне запитання було задано про це на сторінці ASP ( посилання ), і єдиний консенсус там був про те, що з recaptcha зробити це неможливо. Здається, що декілька форм на одній сторінці повинні розділяти капчу, якщо ви не бажаєте використовувати іншу. Якщо ви не заблоковані в recaptcha, хороша бібліотека для ознайомлення - це компонент Zend Frameworks Zend_Captcha ( посилання ). Він містить декілька


9
Це можливо з reCAPTCHA насправді , просто без JavaScript не обійтися . Більшість браузерів повинні підтримувати JavaScript, а ReCaptcha за замовчуванням все одно використовує JavaScript, тому це рішення добре. Hüseyin YağlıВідповідь пояснює рішення. Документація reCAPTCHA для цього рішення знаходиться на веб-сайті developers.google.com/recaptcha/docs/display#explicit_render . Я не знаю, хоча що потрібно зробити для вирішення проблеми без підтримки JavaScript.
Едвард

Це реально можливо з reCAPTCHA насправді
Карлос Еспіноза

208

З поточною версією Recaptcha ( API reCAPTCHA версії 2.0 ), ви можете мати кілька recaptchas на одній сторінці.

Не потрібно клонувати рекапчу, ані намагатися вирішити проблему. Вам просто потрібно помістити декілька елементів div для recaptchas і відтворити recaptchas всередині них явно.

Це легко за допомогою google recaptcha api:
https://developers.google.com/recaptcha/docs/display#explicit_render

Ось приклад html-коду:

<form>
    <h1>Form 1</h1>
    <div><input type="text" name="field1" placeholder="field1"></div>
    <div><input type="text" name="field2" placeholder="field2"></div>
    <div id="RecaptchaField1"></div>
    <div><input type="submit"></div>
</form>

<form>
    <h1>Form 2</h1>
    <div><input type="text" name="field3" placeholder="field3"></div>
    <div><input type="text" name="field4" placeholder="field4"></div>
    <div id="RecaptchaField2"></div>
    <div><input type="submit"></div>
</form>

У своєму JavaScript-коді потрібно визначити функцію зворотного дзвінка для recaptcha:

<script type="text/javascript">
    var CaptchaCallback = function() {
        grecaptcha.render('RecaptchaField1', {'sitekey' : '6Lc_your_site_key'});
        grecaptcha.render('RecaptchaField2', {'sitekey' : '6Lc_your_site_key'});
    };
</script>

Після цього URL-адреса сценарію recaptcha має виглядати так:

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

Або замість того, щоб присвоювати ідентифікатори вашим полям recaptcha, ви можете надати ім'я класу та циклічно зафіксувати ці елементи за допомогою вибору класу та виклику .render ()


1
Випадково, чи знаєте ви, як додати приховане поле recaptcha для перевірки jquery для кожного поля? На даний момент я працюю лише з 1 recaptchafield, але чи може він працювати з двома recaptchas? <input type = "hidden" class = "hiddenRecaptcha potrebna" name = "hiddenRecaptcha" id = "hiddenRecaptcha">
Іван Хуарес

2
@IvanJuarez Це гарне запитання як нове запитання.
Hüseyin Yağlı

2
Для тих, хто хоче використовувати grecaptcha.getResponse () з декількома екземплярами, ви можете просто посилатись на кожен рендер як 0,1,2 тощо. Наприклад, перший екземпляр посилається на grecaptcha.getResponse (0).
Джин Келлі

1
Заощадьте мій час на його ідеальне рішення
Мірза Обаїд

2
Оце Так! Це потребувало певної роботи, але щоб додати до примітки @ GeneKelly стосовно grecaptcha.getResponse(0)та grecaptcha.getResponse(1)підтвердження декількох примірників, я би додав, що індексація повинна відповідати grecaptcha.renderпорядку замовлення. У цьому прикладі grecaptcha.render('RecaptchaField1'...буде підтверджено grecaptcha.getResponse(0)і grecaptcha.render('RecaptchaField2'...буде підтверджено за допомогою grecaptcha.getResponse(1)тощо ...
codacopia

75

Простий і зрозумілий:

1) Створіть свої поля recaptcha зазвичай за допомогою цього:

<div class="g-recaptcha" data-sitekey="YOUR_KEY_HERE"></div>

2) Завантажте сценарій таким чином:

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

3) Тепер зателефонуйте цьому, щоб перебрати поля та створити recaptchas:

<script type="text/javascript">
  var CaptchaCallback = function() {
    jQuery('.g-recaptcha').each(function(index, el) {
        grecaptcha.render(el, {
            'sitekey' : jQuery(el).attr('data-sitekey')
            ,'theme' : jQuery(el).attr('data-theme')
            ,'size' : jQuery(el).attr('data-size')
            ,'tabindex' : jQuery(el).attr('data-tabindex')
            ,'callback' : jQuery(el).attr('data-callback')
            ,'expired-callback' : jQuery(el).attr('data-expired-callback')
            ,'error-callback' : jQuery(el).attr('data-error-callback')
        });
    });
  };
</script>

4
Це правильний спосіб IMO, це робить його динамічним тим, що я можу мати необмежені екземпляри без визначення статичних ідентифікаторів
Грег Олександр

1
Якщо вам потрібно витягнути код captcha вручну (наприклад, у запитах на ajax), подивіться мою відповідь .
VanDir

Чи можете ви, будь ласка, поглянути на моє запитання ? Параметр POST залишається порожнім.
Marcio Mazzucato

3
data-sitekey="YOUR_KEY_HERE"є марним і може бути видалений з div (якщо вам потрібно змінити ключ, менше місць для редагування)
the_nuts

3
Насправді у вас є друкарська помилка. Ключовий ключ даних Attribute потрібен і робить це ще більш динамічним у випадку, якщо у вас буде кілька ключових сайтів, чому б це не було. Правильна лінія будеgrecaptcha.render(el, {'sitekey' : $(el).attr('data-sitekey') });
Gkiokan

13

Це легко досягти за допомогою clone()функції jQuery .

Отже, ви повинні створити два обгорткові диви для recaptcha. Резюме моєї першої форми:

<div id="myrecap">
    <?php
        require_once('recaptchalib.php');
        $publickey = "XXXXXXXXXXX-XXXXXXXXXXX";
        echo recaptcha_get_html($publickey);
    ?>
</div>

Діва друга форма порожня (різний ідентифікатор). Отже, моє просто:

<div id="myraterecap"></div>

Тоді javascript досить простий:

$(document).ready(function() {
    // Duplicate our reCapcha 
    $('#myraterecap').html($('#myrecap').clone(true,true));
});

Ймовірно, не потрібен другий параметр зі trueзначенням clone(), але не завадить його мати ... Єдина проблема цього методу полягає в тому, якщо ви надсилаєте форму через ajax, проблема полягає в тому, що у вас є два елементи, які мають те саме ім’я, і ви повинні мені бути трохи розумнішим у тому, як ви зафіксуєте значення правильних елементів (два ідентифікатори для елементів reCaptcha є #recaptcha_response_fieldта #recaptcha_challenge_field на випадок, якщо хтось їм потрібен)


У вас виникнуть проблеми, коли ви
запитаєте

це не працює ... означає лише оригінальну капчу (перша названа тут <div id = "myrecap">), буде оновлена, а інша - не оновлена
Oxi

Насправді, Оксі, ваше занепокоєння було вирішено моїм попереднім коментарем
Сердж Саган

1
Ви, мабуть, робите це неправильно ... як щодо посилання на ваш код на jsfiddle.net У будь-якому разі, більше нічого з цього не потрібно робити ... ви повинні використовувати відповідь Hüseyin Yağlı.
Serj Sagan

7

Я знаю, що це питання давнє, але на випадок, якщо хтось його шукатиме в майбутньому. На одній сторінці можна мати дві капчі. Рожевий для документації тут: https://developers.google.com/recaptcha/docs/display Приклад нижче - це лише документ копіювання форми документа, і вам не потрібно вказувати різні макети.

<script type="text/javascript">
  var verifyCallback = function(response) {
    alert(response);
  };
  var widgetId1;
  var widgetId2;
  var onloadCallback = function() {
    // Renders the HTML element with id 'example1' as a reCAPTCHA widget.
    // The id of the reCAPTCHA widget is assigned to 'widgetId1'.
    widgetId1 = grecaptcha.render('example1', {
      'sitekey' : 'your_site_key',
      'theme' : 'light'
    });
    widgetId2 = grecaptcha.render(document.getElementById('example2'), {
      'sitekey' : 'your_site_key'
    });
    grecaptcha.render('example3', {
      'sitekey' : 'your_site_key',
      'callback' : verifyCallback,
      'theme' : 'dark'
    });
  };
</script>

5

Ця відповідь є розширенням @raphadko відповіді «s .

Якщо вам потрібно витягнути код captcha вручну (як, наприклад, у запитах ajax), вам потрібно зателефонувати:

grecaptcha.getResponse(widget_id)

Але як можна отримати параметр ідентифікатора віджета?

Я використовую це визначення CaptchaCallback, щоб зберігати ідентифікатор віджета кожного поля g-recaptcha (як атрибут даних HTML):

var CaptchaCallback = function() {
    jQuery('.g-recaptcha').each(function(index, el) {
        var widgetId = grecaptcha.render(el, {'sitekey' : 'your code'});
        jQuery(this).attr('data-widget-id', widgetId);
    });
};

Тоді я можу зателефонувати:

grecaptcha.getResponse(jQuery('#your_recaptcha_box_id').attr('data-widget-id'));

витягнути код.


1
Гей, дякую за це. Що таке #your_recaptcha_box_id?
Лукас Бустаманте

4

У мене є контактна форма у нижньому колонтитулі, яка завжди відображає, а також деякі сторінки, як-от Створити акаунт, також можуть мати капчу, тому це динамічно, і я використовую наступний спосіб з jQuery:

html:

<div class="g-recaptcha" id="g-recaptcha"></div>

<div class="g-recaptcha" id="g-recaptcha-footer"></div>

javascript

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit&hl=en"></script>
<script type="text/javascript">
  var CaptchaCallback = function(){        
      $('.g-recaptcha').each(function(){
        grecaptcha.render(this,{'sitekey' : 'your_site_key'});
      })
  };
</script>

4

Це версія JQuery без відповіді, наданої raphadko та іменником .

1) Створіть свої поля recaptcha зазвичай за допомогою цього:

<div class="g-recaptcha"></div>

2) Завантажте сценарій таким чином:

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

3) Тепер зателефонуйте цьому, щоб перебрати поля та створити recaptchas:

var CaptchaCallback = function() {
    var captchas = document.getElementsByClassName("g-recaptcha");
    for(var i = 0; i < captchas.length; i++) {
        grecaptcha.render(captchas[i], {'sitekey' : 'YOUR_KEY_HERE'});
    }
};

2

Переглядаючи вихідний код сторінки, я взяв частину reCaptcha і трохи змінив код. Ось код:

HTML:

<div class="tabs">
    <ul class="product-tabs">
        <li id="product_tabs_new" class="active"><a href="#">Detailed Description</a></li>
        <li id="product_tabs_what"><a href="#">Request Information</a></li>
        <li id="product_tabs_wha"><a href="#">Make Offer</a></li>
    </ul>
</div>

<div class="tab_content">
    <li class="wide">
        <div id="product_tabs_new_contents">
            <?php $_description = $this->getProduct()->getDescription(); ?>
            <?php if ($_description): ?>
                <div class="std">
                    <h2><?php echo $this->__('Details') ?></h2>
                    <?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description') ?>
                </div>
            <?php endif; ?>
        </div>
    </li>

    <li class="wide">
        <label for="recaptcha">Captcha</label>
        <div id="more_info_recaptcha_box" class="input-box more_info_recaptcha_box"></div>
    </li>

    <li class="wide">
        <label for="recaptcha">Captcha</label>
        <div id="make_offer_recaptcha_box" class="input-box make_offer_recaptcha_box"></div>
    </li>
</div>

jQuery:

<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
<script type="text/javascript">
    jQuery(document).ready(function() {
        var recapExist = false;
      // Create our reCaptcha as needed
        jQuery('#product_tabs_what').click(function() {
            if(recapExist == false) {
                Recaptcha.create("<?php echo $publickey; ?>", "more_info_recaptcha_box");
                recapExist = "make_offer_recaptcha_box";
            } else if(recapExist == 'more_info_recaptcha_box') {
                Recaptcha.destroy(); // Don't really need this, but it's the proper way
                Recaptcha.create("<?php echo $publickey; ?>", "more_info_recaptcha_box");
                recapExist = "make_offer_recaptcha_box";
            }
        });
        jQuery('#product_tabs_wha').click(function() {
            if(recapExist == false) {
                Recaptcha.create("<?php echo $publickey; ?>", "make_offer_recaptcha_box");
                recapExist = "more_info_recaptcha_box";
            } else if(recapExist == 'make_offer_recaptcha_box') {
                Recaptcha.destroy(); // Don't really need this, but it's the proper way (I think :)
                Recaptcha.create("<?php echo $publickey; ?>", "make_offer_recaptcha_box");
                recapExist = "more_info_recaptcha_box";
            }
        });
    });
</script>

Я використовую тут просту функціональність вкладки javascript. Отже, не включив цей код.

Коли користувач натисне "Запити інформацію", (#product_tabs_what)тоді JS перевірить recapExist, falseчи є якесь значення. Якщо у нього є значення, це Recaptcha.destroy();зажадає знищити стару завантажену reCaptcha і відтворить її для цієї вкладки. В іншому випадку це просто створить reCaptcha і розміститься у діві #more_info_recaptcha_box. Те саме, що на #product_tabs_whaвкладці "Зробити пропозицію" .


2

var ReCaptchaCallback = function() {
    	 $('.g-recaptcha').each(function(){
    		var el = $(this);
    		grecaptcha.render(el.get(0), {'sitekey' : el.data("sitekey")});
    	 });  
        };
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://www.google.com/recaptcha/api.js?onload=ReCaptchaCallback&render=explicit" async defer></script>


ReCaptcha 1
<div class="g-recaptcha" data-sitekey="6Lc8WQcUAAAAABQKSITdXbc6p9HISCQhZIJwm2Zw"></div>

ReCaptcha 2
<div class="g-recaptcha" data-sitekey="6Lc8WQcUAAAAABQKSITdXbc6p9HISCQhZIJwm2Zw"></div>

ReCaptcha 3
<div class="g-recaptcha" data-sitekey="6Lc8WQcUAAAAABQKSITdXbc6p9HISCQhZIJwm2Zw"></div>


де частина 2 форм?
MeSo2

вибачте, що вас не отримав
сундер сінгх

просто покладіть, <div class="g-recaptcha" data-sitekey="your_site_key"></div>де вам потрібно, у формах /
дівах

1

Хороший варіант - генерувати введення recaptcha для кожної форми на ходу (я робив це з двома, але ви, мабуть, могли зробити три чи більше форми). Я використовую плагін jQuery, перевірку jQuery та jQuery, щоб розміщувати форму через AJAX, а також API Recaptcha AJAX -

https://developers.google.com/recaptcha/docs/display#recaptcha_methods

Коли користувач подає одну з форм:

  1. перехоплюємо подання - я використав властивість jQuery Form Plugin's beforeSubmit
  2. знищити будь-які наявні введення recaptcha на сторінці - я використав метод $ .empty () jQuery та Recaptcha.destroy ()
  3. зателефонуйте Recaptcha.create (), щоб створити поле recaptcha для конкретної форми
  4. повернути хибне.

Потім вони можуть заповнити recaptcha та повторно подати форму. Якщо вони вирішать надіслати іншу форму замість цього, ваш код перевіряє наявність існуючих повторних капташів, тому у вас буде одночасно лише одна recaptcha на сторінці.


1

Для того, щоб додати трохи до raphadko відповідь «s : так як у вас є кілька каптч (на одній сторінці), Ви не можете використовувати (універсальний) g-recaptcha-responseпараметр POST (бо він містить тільки один відповідь Captcha в). Натомість слід використовувати grecaptcha.getResponse(opt_widget_id)виклик для кожної капчу. Ось мій код (за умови, що кожна капчу знаходиться у формі):

HTML:

<form ... />

<div id="RecaptchaField1"></div>

<div class="field">
  <input type="hidden" name="grecaptcha" id="grecaptcha" />
</div>

</form>

і

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

JavaScript:

var CaptchaCallback = function(){
    var widgetId;

    $('[id^=RecaptchaField]').each(function(index, el) {

         widgetId = grecaptcha.render(el.id, {'sitekey' : 'your_site_key'});

         $(el).closest("form").submit(function( event ) {

            this.grecaptcha.value = "{\"" + index + "\" => \"" + grecaptcha.getResponse(widgetId) + "\"}"

         });
    });
};

Зауважте, що я застосовую делегування події (див. Оновлення DOM після додавання елемента ) до всіх динамічно модифікованих елементів. Це пов'язує реакцію кожної окремої капфи на submitподію форми .


Нічого собі, я шукав години для цього. Дякую!!
Чорний

1

Ось рішення, яке формує багато відмінних відповідей. Цей параметр jQuery безкоштовний і динамічний, не вимагаючи спеціально націлювати елементи за id.

1) Додайте розмітку reCAPTCHA, як зазвичай:

<div class="g-recaptcha" data-sitekey="YOUR_KEY_HERE"></div>

2) Додайте в документ наступне. Він буде працювати в будь-якому браузері, який підтримує API querySelectorAll

<script src="https://www.google.com/recaptcha/api.js?onload=renderRecaptchas&render=explicit" async defer></script>
<script>
    window.renderRecaptchas = function() {
        var recaptchas = document.querySelectorAll('.g-recaptcha');
        for (var i = 0; i < recaptchas.length; i++) {
            grecaptcha.render(recaptchas[i], {
                sitekey: recaptchas[i].getAttribute('data-sitekey')
            });
        }
    }
</script>

1

grecaptcha.getResponse()Метод приймає необов'язковий «WIDGET_ID» параметр і значення по замовчуванням для першого елемента , створеного , якщо не визначені. Widget_id повертається з grecaptcha.render()методу для кожного створеного віджета, він не пов'язаний з атрибутом idконтейнера reCAPTCHA !!

Кожен reCAPTCHA має власні дані відповідей. Ви повинні дати ідентифікатору div reCAPTCHA і передати його getResponseметоду:

напр

<div id="reCaptchaLogin"
     class="g-recaptcha required-entry"
     data-sitekey="<?php echo $this->helper('recaptcha')->getKey(); ?>"
     data-theme="<?php echo($this->helper('recaptcha')->getTheme()); ?>"
     style="transform:scale(0.82);-webkit-transform:scale(0.82);transform-origin:0 0;-webkit-transform-origin:0 0;">
</div>


<script type="text/javascript">
  var CaptchaCallback = function() {
    jQuery('.g-recaptcha').each(function(index, el) {
        grecaptcha.render(el, {
            'sitekey' : jQuery(el).attr('data-sitekey')
            ,'theme' : jQuery(el).attr('data-theme')
            ,'size' : jQuery(el).attr('data-size')
            ,'tabindex' : jQuery(el).attr('data-tabindex')
            ,'callback' : jQuery(el).attr('data-callback')
            ,'expired-callback' : jQuery(el).attr('data-expired-callback')
            ,'error-callback' : jQuery(el).attr('data-error-callback')
        });
    });
  };
</script>

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

Відповідь доступу:

var reCaptchaResponse = grecaptcha.getResponse(0);

або

var reCaptchaResponse = grecaptcha.getResponse(1);

0

Можна, просто перезаписати зворотні виклики Recaptcha Ajax. Робота jsfiddle: http://jsfiddle.net/Vanit/Qu6kn/

Вам навіть не потрібен проксі-div, оскільки при перезаписі код DOM не виконається. Виклик Recaptcha.reload (), коли ви хочете знову викликати зворотні дзвінки.

function doSomething(challenge){
    $(':input[name=recaptcha_challenge_field]').val(challenge);
    $('img.recaptcha').attr('src', '//www.google.com/recaptcha/api/image?c='+challenge);
}

//Called on Recaptcha.reload()
Recaptcha.finish_reload = function(challenge,b,c){
    doSomething(challenge);
}

//Called on page load
Recaptcha.challenge_callback = function(){
    doSomething(RecaptchaState.challenge)
}

Recaptcha.create("YOUR_PUBLIC_KEY");

0

Ось приємний посібник для виконання саме цього:

http://mycodde.blogspot.com.ar/2014/12/multiple-recaptcha-demo-same-page.html

В основному ви додаєте деякі параметри до виклику api та вручну рендеруєте кожну рекапчу:

<script src="https://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>
<script>
        var recaptcha1;
        var recaptcha2;
        var myCallBack = function() {
            //Render the recaptcha1 on the element with ID "recaptcha1"
            recaptcha1 = grecaptcha.render('recaptcha1', {
                'sitekey' : '6Lc_0f4SAAAAAF9ZA', //Replace this with your Site key
                'theme' : 'light'
            });

            //Render the recaptcha2 on the element with ID "recaptcha2"
            recaptcha2 = grecaptcha.render('recaptcha2', {
                'sitekey' : '6Lc_0f4SAAAAAF9ZA', //Replace this with your Site key
                'theme' : 'dark'
            });
        };
</script>

PS: Метод "grecaptcha.render" отримує ідентифікатор


0

Я б використав невидимий рекаптча. Потім на вашій кнопці використовуйте тег на зразок "formname = 'yourformname" ", щоб вказати, яку форму потрібно подати, і сховати введення форми подання.

Перевагою цього є те, що ви можете зберігати перевірку форми html5 недоторканою, одну recaptcha, але кілька інтерфейсів кнопок. Просто зафіксуйте вхідне значення "captcha" для ключа токена, згенерованого recaptcha.

<script src="https://www.google.com/recaptcha/api.js" async defer ></script>

<div class="g-recaptcha" data-sitekey="yours" data-callback="onSubmit" data-size="invisible"></div>
<script>
var formanme = ''
$('button').on('click', function () { formname = '#'+$(this).attr('formname');
    if ( $(formname)[0].checkValidity() == true) { grecaptcha.execute(); }
    else { $(formname).find('input[type="submit"]').click() }
    });

var onSubmit = function(token) {
    $(formname).append("<input type='hidden' name='captcha' value='"+token+"' />");
    $(formname).find('input[type="submit"]').click()
    };
</script>

Я вважаю цей FAR простішим та легшим в управлінні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.