templates/block/modal_callback.html.twig line 1

Open in your IDE?
  1. {# <script src="https://www.google.com/recaptcha/api.js?render={{ recaptcha_key }}"></script> 
  2. <script>
  3. document.addEventListener('DOMContentLoaded', function () {
  4.     const form = document.getElementById('order-callback');
  5.     const formResult = document.getElementById('form-result');
  6.     // Проверяем, существует ли форма на странице, чтобы избежать ошибок
  7.     /*if (form) {
  8.         form.addEventListener('submit', function (e) {
  9.             alert('submit');
  10.             e.preventDefault();
  11.             
  12.             // 2. Получаем токен reCAPTCHA
  13.             grecaptcha.ready(function () {
  14.                 alert('g cap')
  15.                 grecaptcha.execute('{{ recaptcha_key }}', { action: 'callback_form' }).then(function (token) {
  16.                     
  17.                     const recaptchaInput = form.querySelector('input[name="g-recaptcha-response"]');
  18.                     recaptchaInput.value = token;
  19.                 
  20.                     const formData = new FormData(form);
  21.                     fetch(form.action, {
  22.                         method: form.method,
  23.                         body: formData
  24.                     })
  25.                     .then(response => response.json())
  26.                     .then(data => {
  27.                         
  28.                     })
  29.                     .catch(error => {
  30.                         // Обработка сетевых ошибок
  31.                         console.error('Ошибка при отправке AJAX:', error);
  32.                         formResult.innerHTML = '<p style="color: red;">Произошла сетевая ошибка. Попробуйте позже.</p>';
  33.                     });
  34.                 });
  35.             });
  36.         });
  37.     } */
  38. });
  39. </script>
  40. #}
  41. <div class="modal" id="modal_callback" tabindex="-1" role="dialog">
  42.     <div class="modal-dialog">
  43.         <div class="modal-content">
  44.             <div class="modal-header">
  45.                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span
  46.                             class="sr-only">Close</span></button>
  47.                 <div class="h4"><i class=" icon-mail-2"></i> {{ labels.get('modal-callback-1')|raw }} </div>
  48.             </div>
  49.             <div class="modal-body">
  50.                 <form id="order-callback" method="post" action="{{ path('callback') }}">
  51.                     <input type="hidden" name="code" value="" class="g-code" id="g-code">
  52.                     <div class="form-group" id="callback-form-name">
  53.                         <label for="recipient-name2" class="control-label">{{ labels.get('modal-callback-2')|raw }}</label>
  54.                         <input class="form-control" id="recipient-name2" placeholder="{{ labels.get('modal-callback-6')|raw }}"
  55.                                data-placement="top" data-trigger="manual"
  56.                                data-content="Must be at least 3 characters long, and must only contain letters."
  57.                                type="text" name="name">
  58.                     </div>
  59.                     <div class="form-group" id="callback-form-phone">
  60.                         <label for="recipient-Phone-Number2" class="control-label">{{ labels.get('modal-callback-3')|raw }}</label>
  61.                         <input type="text" maxlength="60" class="form-control" id="recipient-Phone-Number2" placeholder="{{ labels.get('modal-callback-7')|raw }}" name="phone">
  62.                     </div>
  63.                     <div class="form-group">
  64.                         <p class="pull-left text-danger hide" id="callback-form-error">&nbsp; {{ labels.get('modal-callback-4')|raw }} </p>
  65.                     </div>
  66.                 </form>                
  67.             </div>
  68.             <div class="modal-footer">
  69.                 <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response">
  70.                 <button type="button" class="btn btn-default" data-dismiss="modal" id="sendclose2">{{ labels.get('modal-callback-5')|raw }}</button>
  71.                 <input type="submit" class="btn btn-callback pull-right" id="sendcallback" value="{{ labels.get('modal-callback-8')|raw }}">
  72.             </div>
  73.         </div>
  74.     </div>
  75. </div>