Страницы

Поиск по вопросам

суббота, 15 июня 2019 г.

Почему не работает AJAX скрипт в firefox?

Добрый день! Подскажите, почему нможет не работать 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")
});

{if $product->sizes|count > '1'}
{foreach $product->sizes as $v} {/foreach}
{/if}


1


Ответ

В Firefox нет глобального объекта event. К счастью, обработчики событий jQuery получают его первым параметром во всех браузерах.
$('.main-wrap').on('submit','form#add-product',function(event) { event.preventDefault(); ...

Комментариев нет:

Отправить комментарий