Gruzin Опубликовано 19 ноября, 2017 Жалоба Поделиться Опубликовано 19 ноября, 2017 Всем привет, как сделать что бы перед кнопкой "Оформить заказ" стоял чекбокс ну типа "согласен с условиями" , а кнопка "Оформить заказ" была не активна пока не отмечен этот чекбокс? Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 19 ноября, 2017 Жалоба Поделиться Опубликовано 19 ноября, 2017 design/[шаблон]/html/cart.tplпосле {if $error == 'captcha'}Капча введена неверно{/if}дописать {if $error == 'terms'}Необходимо принять условия для дальнейшего оформления заказа{/if}перед кнопкой вставить <label for="terms"> <input type="checkbox" name="terms" id="terms" value="agree"> <a href="terms">согласен с условиями</a> </label> <script> document.addEventListener('DOMContentLoaded', function(){ var $checkbox = document.getElementById('terms'), $btn = document.getElementsByName('checkout')[0]; $checkbox.addEventListener('change', function(){ var checked = $checkbox.checked; if(checked) $btn.disabled = false; else $btn.disabled = true; }) }); </script> и добавить к кнопке атрибут disabledview/CartView.php после elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)){$this->design->assign('error', 'captcha');}дописать elseif(empty($this->request->post('terms'))) $this->design->assign('error', 'terms'); Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 19 ноября, 2017 Автор Жалоба Поделиться Опубликовано 19 ноября, 2017 design/[шаблон]/html/cart.tpl после {if $error == 'captcha'}Капча введена неверно{/if}дописать {if $error == 'terms'}Необходимо принять условия для дальнейшего оформления заказа{/if}перед кнопкой вставить <label for="terms"> <input type="checkbox" name="terms" id="terms" value="agree"> <a href="terms">согласен с условиями</a> </label> <script> document.addEventListener('DOMContentLoaded', function(){ var $checkbox = document.getElementById('terms'), $btn = document.getElementsByName('checkout')[0]; $checkbox.addEventListener('change', function(){ var checked = $checkbox.checked; if(checked) $btn.disabled = false; else $btn.disabled = true; }) }); </script> и добавить к кнопке атрибут disabled view/CartView.php после elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)){$this->design->assign('error', 'captcha');}дописать elseif(empty($this->request->post('terms'))) $this->design->assign('error', 'terms'); Всё супер работает. Спасибо большое. Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 19 ноября, 2017 Автор Жалоба Поделиться Опубликовано 19 ноября, 2017 Если я правильно понимаю то если чекбокс не отмечен , то срабатывает вот это условие {if $error == 'terms'}Необходимо принять условия для дальнейшего оформления заказа{/if} и должна выводиться подсказка , но она не выводится. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 19 ноября, 2017 Жалоба Поделиться Опубликовано 19 ноября, 2017 Если я правильно понимаю то если чекбокс не отмечен , то срабатывает вот это условие {if $error == 'terms'}Необходимо принять условия для дальнейшего оформления заказа{/if} и должна выводиться подсказка , но она не выводится. Это все индивидуально на стандартном шаблоне работает Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 19 ноября, 2017 Автор Жалоба Поделиться Опубликовано 19 ноября, 2017 Это все индивидуально на стандартном шаблоне работаетУ меня стандартный шаблон. Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 19 ноября, 2017 Жалоба Поделиться Опубликовано 19 ноября, 2017 У меня стандартный шаблон. Это сообщение выводится если вы каким-то образом отправили форму без галочки Если вы хотите такую же подсказку как на имени и email'e, то к чекбоксу нужно добавить следующие атрибуты min="1" data-notice="Необходимо принять условия для дальнейшего оформления заказа" и убрать у кнопки атрибут disabled, вместе со скриптом Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 20 ноября, 2017 Автор Жалоба Поделиться Опубликовано 20 ноября, 2017 Это сообщение выводится если вы каким-то образом отправили форму без галочки Если вы хотите такую же подсказку как на имени и email'e, то к чекбоксу нужно добавить следующие атрибуты min="1" data-notice="Необходимо принять условия для дальнейшего оформления заказа" и убрать у кнопки атрибут disabled, вместе со скриптомВас понял, ещё раз спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.