Добрый день! Подскажите, почему нможет не работать AJAX скрипт в firefox? Скрипт отвечает за отправку данных формы(добавление товара в корзину), в Опере и Хроме все нормально. А в firefox форма перенаправляет на ссылку в action из за чего я получаю 404 и товар в корзину не попадает.
$('.main-wrap').on('submit','form#add-product',function() {
event.preventDefault();
var a = null,
e = null,
t = $(this),
n = t.find('button[type="submit"]'),
r = t.find('input[name="variant"]:checked'),
s = t.find('select[name="variant"]'),
i = t.find('select[name="size"]'),
u = t.find('input[name="size"]:checked'),
l = t.find('input[name="amount"]');
console.log(a = r.val());
console.log(e = u.val());
console.log(l.val());
r.size() > 0 && (a = r.val()),
l.size() > 0 && (amount = l.val()),
s.size() > 0 && (a = s.val()),
u.size() > 0 && u.val() > 0 && (e = u.val()),
i.size() > 0 && (e = i.val()), 0 != e ? $.ajax({
url: "ajax/cart.php",
data: {
variant: a,
size: e,
amount: amount
},
dataType: "json",
success: function(a) {
// $(".error-message").hasClass("size-error") && $(".error-message").removeClass("size-error"),
console.log(a['c']);
console.log(a['p']);
$(".cart-btn").html(a['c']).addClass('cart--active');
$('.popup__body').html(a['p']);
}
}) : $(".error-message").addClass("size-error")
});
<form id="add-product" action="/cart">
{if $product->sizes|count > '1'}
<div class="product__size-list">
{foreach $product->sizes as $v}
<input id="size-n-{$v->size_id}" class="product__size-checkbox display--hidden" name="size" type="radio" value="{$v->size_id}">
<label for="size-n-{$v->size_id}" class="product__size-item">
{$v->scale}{if $v->growth} ({$v->growth}){/if}
</label>
{/foreach}
</div>
{/if}
<div style="display: none;">
<input name="variant" value="{$product->variant->id}" type="radio" checked style="display: none;" />
</div>
<div class="product__quantity">
<span class="btn-m btn-minus">
<i class="fa fa-minus" aria-hidden="true"></i>
</span>
<input class="display--hidden" type="text" name="amount" value="1">
<span class="quantity__count">1</span>
<span class="btn-m btn-plus">
<i class="fa fa-plus" aria-hidden="true"></i>
</span>
</div>
</form>
В Firefox нет глобального объекта event
. К счастью, обработчики событий jQuery получают его первым параметром во всех браузерах.
$('.main-wrap').on('submit','form#add-product',function(event) {
event.preventDefault();
...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проблема наблюдается во всех браузерах. Метод hide работает, но не принимает параметр '3000', т.
Как сделать автоматический плавный скрол до определенного блока? Допустим зашел на страницу, и через 5 секунд проскролило до определенного...
Имеется следующий код в js. При передаче данных в контроллер не хочет получать значения.
После java асинхронность в js это беда для меня. Суть проблемы: написать функцию, которая проверяет наличие файла, если есть, то true, нет - false.