Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Обязательный двойной клик по кнопке "Подтвердить заказ"


am0r

Recommended Posts

Доброго времени суток.

Присутствует такая проблема: при оформлении заказа, на странице checkout необходимо дважды кликать кнопку "Подтвердить заказ", чтобы заказ улетел в админку, как принятый. 

Стоит модуль Симпл-ы в связке с Фильтерит-ом и ранее, кнопка "Подвтердить заказ" второй раз нажималась автоматически (как указано в описании работы модуля оплаты для Симплы) однако, в последнее время, кнопку приходится жать дважды. Разработчик Симплы помог с советом, но проблему отыскать так и не удалось.

Предварительно, была проделана работа:

смена типа варианта оплаты с "Банковский перевод" на "Оплата после получения" (переименовав его), для исключения обязательной подгрузки инструкции по оплате.

удаление ряда ошибок по данным консоли

Проблема весьма острая, клиент не всегда жмет кнопку "Подтвердить заказ" дважды и заказ падает в "Пропавшие заказы".

Пы.Сы при этом, письмо с заказом приходит 4 раза - дважды (задублированное) при первом нажатии кнопки "Подтвердить заказ", и еще дважды, если кнопку "Подтвердить заказ" еще раз.

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

Заранее благодарен. 

 

Надіслати
Поділитися на інших сайтах


Переименовав его вы ничего не добились, как был функционал банковского перевода так и остался.

А так гугл за первым запросом.

 

 

Надіслати
Поділитися на інших сайтах

13.11.2023 в 16:58, ibond сказал:

Переименовав его вы ничего не добились, как был функционал банковского перевода так и остался.

А так гугл за первым запросом.

 

 

Почему же? В "Банковском переводе" - есть функция подгрузки инструкции (реквизиты), в "Оплата после доставки" - нет. Эту тему читал, она актуальна для как раз для Банковского перевода (закоментить строки с проверкой на загрузку инструкции). Делал и так - тоже не помогало. 

Надіслати
Поділитися на інших сайтах


13.11.2023 в 16:41, am0r сказал:

смена типа варианта оплаты с "Банковский перевод" на "Оплата после получения" (переименовав его)

возможно не так понял

тогда смотрите консоль, ошибка должна быть в ней

Надіслати
Поділитися на інших сайтах

13.11.2023 в 21:55, am0r сказал:

По консоли вот такая вот история:

ну вот, самая первое SyntaxError

Надіслати
Поділитися на інших сайтах

14.11.2023 в 06:41, ibond сказал:

ну вот, самая первое SyntaxError

Подскажите, пожалуйста, как узнать где именно возникает эта ошибка? И она же может быть причиной такой проблемы? 

Могут ли быть причиной такого поведения кнопки вот такие настройки оптимизации сайта на хостинге?

 

FireShot Capture 001 - Настройки сайта - adm.tools.png

Надіслати
Поділитися на інших сайтах


14.11.2023 в 08:28, am0r сказал:

Подскажите, пожалуйста, как узнать где именно возникает эта ошибка? И она же может быть причиной такой проблемы? 

Если у вас нет навыков программирования, то лучше не лезть.

 

14.11.2023 в 08:28, am0r сказал:

Могут ли быть причиной такого поведения кнопки вот такие настройки оптимизации сайта на хостинге?

могут, самый простой способ отключить все и проверить

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Цитата

Если у вас нет навыков программирования, то лучше не лезть.

Понял :) Тогда лучше кого-то попросить :) Вы могли бы взглянуть?

Цитата

могут, самый простой способ отключить все и проверить

не помогло :(

Змінено користувачем am0r
Надіслати
Поділитися на інших сайтах


Все же, пытаюсь докопаться самостоятельно до решения  :)  Понял ,что ошибка в консоли - это проблема с <script async>. Нашел строку: 

<script async>function loadOctFonts(){let cssId='octFonts';let octFonts=localStorage.getItem('octFonts');if(!octFonts&&!document.getElementById(cssId)){let head=document.getElementsByTagName('head')[0];let link=document.createElement('link');link.id=cssId;link.rel='stylesheet';link.type='text/css';link.href=location.protocol+'//'+location.host+'/catalog/view/theme/oct_ultrastore/stylesheet/oct-fonts.css';link.media='all';head.appendChild(link);localStorage.setItem('octFonts','1');}}loadOctFonts();</script>

Я так полагаю, нужно избавиться от атрибута async ? Где его найти и поможет ли это? Или я ошибаюсь?

Собственно, вот:

Desktop-screenshot.png

ну и вот:

function loadOctFonts() {
    let cssId = 'octFonts';
    let octFonts = localStorage.getItem('octFonts');
    if(!octFonts && !document.getElementById(cssId)) {
        let head  = document.getElementsByTagName('head')[0];
        let link  = document.createElement('link');
        link.id   = cssId;
        link.rel  = 'stylesheet';
        link.type = 'text/css';
        link.href = location.protocol + '//' + location.host + '/catalog/view/theme/oct_ultrastore/stylesheet/oct-fonts.css';
        link.media = 'all';
        head.appendChild(link);
        localStorage.setItem('octFonts', '1');
    }
}
loadOctFonts();

 

Змінено користувачем am0r
Надіслати
Поділитися на інших сайтах


Спасибо пользователю ibond за помощь в выявлении истинной причины проблемы и устранения проблемы с JS

Проблема была в костыле для выгрузки в 1С. 

  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.