Помогите сделать электронную почту обязательной для заполнения при оформлении заказа.
Сам, чет туплю, не осилил...
И еще при оформлении это поле отображается как "Почта", а хотелось бы чтоб было: "Электронная почта"

Отправлено 01 Июль 2022 - 01:05
<div class="form__field email"> <label for="sites_client_email" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}class="required"{% ENDIF %}><span>Ваш E-mail</span><em>*</em></label> <input id="sites_client_email" type="email" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="form__input" type="text" placeholder="Почта" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %}/> </div>
<div class="form__field email"> <label for="sites_client_email" class="required"><span>Ваш E-mail</span><em>*</em></label> <input id="sites_client_email" type="email" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="form__input" type="text" placeholder="Электронная почта" required/> </div>
Отправлено 02 Июль 2022 - 21:35
Отправлено 02 Июль 2022 - 22:17
Отправлено 07 Июль 2022 - 08:26
hohot (02 Июль 2022 - 22:17) писал:
Отправлено 09 Июль 2022 - 04:47
// Быстрый заказ function quickOrder(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа formData.push({name: 'fast_order', value: 1}); // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $.fancybox.open(data, { keyboard: false, baseClass: "fastOrder", afterShow: function(){ showPass(); orderScripts(); orderScriptsSelect(); coupons(); preload(); $('.fastOrder__form').validate({ errorPlacement: function(error, element) { } }); } }) } }); return false; }
// Быстрый заказ function quickOrder(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа formData.push({name: 'fast_order', value: 1}); // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $.fancybox.open(data, { keyboard: false, baseClass: "fastOrder", afterShow: function(){ showPass(); orderScripts(); orderScriptsSelect(); coupons(); preload(); $('.fastOrder__form').validate({ errorPlacement: function(error, element) { } }); } }) // Валидация формы на странице оформления заказа $(".total__buttons button, #makeOrder").on('click', function(){ var form = $(".fastOrder__form"); form.validate({ errorPlacement: function(error, element) { } }); form.submit(); return false; }); // Выключение кнопки оформления заказа если не все поля заполнены $(".fastOrder__form [required]").blur(function(){ if($('.fastOrder__form').valid()) { $(".total__buttons button").removeClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Оформить заказ'); $("#makeOrder").removeClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Оформить заказ'); } else { $(".total__buttons button").addClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Заполните все поля'); $("#makeOrder").addClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Заполните все поля'); } }); // Выключение кнопки оформления заказа если не все поля заполнены $(function(){ if($('.fastOrder__form').valid()) { $(".total__buttons button").removeClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Оформить заказ'); $("#makeOrder").removeClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Оформить заказ'); }else{ $(".fastOrder__form input, .fastOrder__form textarea, .fastOrder__form select").removeClass('error'); } }); } }); return false; }
Отправлено 11 Июль 2022 - 00:37
Отправлено 12 Июль 2022 - 02:43
// Изменение кол-ва в карточке function prodQty(){ $('.productView__qty .quantity').change(function(){ var t = $(this); // Количество var val = parseInt(t.val()); // Если вводят 0 то заменяем на 1 if(val < 1){ t.val(1); val = 1; } // Проверка максимальныго остатка var max = parseInt(t.attr('max')); if(val > max){ t.val(max); val = max; new Noty({ text: '<div class="noty__addto"><div class="noty__message">Внимание! Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div></div>', layout:"bottomRight", type:"warning", easing:"swing", animation: { open: 'animated fadeInUp', close: 'animated fadeOutDown', easing: 'swing', speed: 400 }, timeout:"2000", progressBar:true }).show(); } // Обновление кол-ва для функций "Добавить" goodsModView.find('.goodsDataMainModificationId').val($(this).val()); // Цена товара без изменений var price = parseInt($('.productView__price .price__now').attr('content')); var newPrice = 0; // Проверяем наличие добавленных товаров вместе с основным if (goodsModView.find('.productView__form [class^="goodsID-"]').length) { goodsModView.find('.productView__form [class^="goodsID-"]').each(function(){ // Сумма всех добавленных товаров newPrice += parseInt($(this).attr('data-price')) }); } // Считаем новую сумму товара с учетом добавленных var multi = String(val * price + newPrice); // Обновляем новую сумму goodsModView.find('.productView__price .price__now').attr('data-price', multi); goodsModView.find('.productView__price .price__now').find('.num').text(addSpaces(multi)); }); }
// Изменение кол-ва в карточке function prodQty($container){ var goodsModView = $container || $('#main .productViewBlock') goodsModView.find('.productView__qty .quantity').change(function(){ var t = $(this); // Количество var val = parseInt(t.val()); // Если вводят 0 то заменяем на 1 if(val < 1){ t.val(1); val = 1; } // Проверка максимальныго остатка var max = parseInt(t.attr('max')); if(val > max){ t.val(max); val = max; new Noty({ text: '<div class="noty__addto"><div class="noty__message">Внимание! Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div></div>', layout:"bottomRight", type:"warning", easing:"swing", animation: { open: 'animated fadeInUp', close: 'animated fadeOutDown', easing: 'swing', speed: 400 }, timeout:"2000", progressBar:true }).show(); } // Обновление кол-ва для функций "Добавить" goodsModView.find('.goodsDataMainModificationId').val($(this).val()); // Цена товара без изменений var price = parseInt(goodsModView.find('.productView__price .price__now').attr('content')); var newPrice = 0; // Проверяем наличие добавленных товаров вместе с основным if (goodsModView.find('.productView__form [class^="goodsID-"]').length) { goodsModView.find('.productView__form [class^="goodsID-"]').each(function(){ // Сумма всех добавленных товаров newPrice += parseInt($(this).attr('data-price')) }); } // Считаем новую сумму товара с учетом добавленных var multi = String(val * price + newPrice); // Обновляем новую сумму goodsModView.find('.productView__price .price__now').attr('data-price', multi); goodsModView.find('.productView__price .price__now').find('.num').text(addSpaces(multi)); }); }
Отправлено 12 Июль 2022 - 12:15
0 пользователей, 0 гостей, 0 анонимных