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

Как предотвратить перезагрузку страницы?(без последствий)


Recommended Posts

Я написал код, в котором в зависимости от выбранного способа оплаты добавляется div  с описанием действий для реализации этого способа. Код работает, однако сразу же после появления на странице div.innerHTML с соответствующим содержанием страница перезагружается. Код писал в simplecheckout_payment.tpl.  Удаление  data-onchange="reloadAll" , думаю, не лучший вариант(приводит к тому, что страница не обновляется, и каждый клик вызывает добавление нового div-а). То есть как сделать так, чтобы даже после перезагрузки страницы информация осталась?

 

<script type='text/javascript'>
    var cod = document.getElementById('cod');
    var web = document.getElementById('web');
    var payment_methods = document.getElementById('payment_methods');
                    payment_methods.addEventListener('click', function(e) {
                    var el = e.target;
                    if(el.tagName != "INPUT") return;
                    var type = el.getAttribute('data-target'),
                    paymentGeneration = {
                    'cod': function() {
                    var div = document.createElement('div');
                    div.innerHTML = "Оплата наличными курьеру при доставке или получении заказа в магазине.";
                    cod.append(div);                   
                    },
                    'web': function() {
                    var div = document.createElement('div');
                    div.innerHTML = "Вы будете переадресованы на страницу ...";
                    cod.append(div);
                    }
                };
                paymentGeneration[type]();
                });
  </script>

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


  • KevinJones changed the title to Как предотвратить перезагрузку страницы?(без последствий)

Пишите используя jQuery, будет куда проще и компактней. Див добавлять не нужно, вы его можете сразу добавить в шаблон, просто пустой, а потом в зависимости от того что выбрали, инсертить в него нужную информация, предварительно почистив от предыдущей. 

Для того что бы это подгружалось после обновления страницы можно повесить заполнение дива на событие onload

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


17 минут назад, spectre сказал:

в симпл даже в админке можно этот js код вписать

выполняется после обновления

Ниже "Оформление заказа" появилось  } }); } else { //console.log("check header.tpl") }.

Скрипт сработал, но вот дальше все поля заблокированы(disabled), ничего не могу написать, равно как и выбрать другой input type.

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


13 минут назад, KevinJones сказал:

Учу

и еще, симпл позволяет добавить свое описание любому методу доставки-оплаты и отображать его когда он выбран, может вам вообще это нужно)

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

59 минут назад, spectre сказал:

и еще, симпл позволяет добавить свое описание любому методу доставки-оплаты и отображать его когда он выбран, может вам вообще это нужно)

Именно это и нужно! Но найти не могу - в настройках модуля смотрел, направьте, пожалуйста, где это искать?

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


19 минут назад, spectre сказал:

как же нет

 

image.png.e7bc711ea93d5d6c229b95084400c160.png

Это я видел(почти, у меня OC 1.5.6.4). Просто что я хочу сделать, это чтобы описание появлялось у метода оплаты(когда он выбран), и чтобы можно было переключаться между разными методами оплаты и описание на странице сохранялось. В данный момент проблема только в том, что описание исчезает(при перезагрузке). Буду думать дальше...

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


2 часа назад, spectre сказал:

как же нет

 

image.png.e7bc711ea93d5d6c229b95084400c160.png

Cпасибо! Разобрался с заглушками. Но все равно хотелось бы додумать мое решение. Я только до e.preventDefault() пока додумался.

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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