Добрый день! Подскажите, почему нможет не работать 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")
});
Ответ
В Firefox нет глобального объекта event. К счастью, обработчики событий jQuery получают его первым параметром во всех браузерах.
$('.main-wrap').on('submit','form#add-product',function(event) {
event.preventDefault();
...
Комментариев нет:
Отправить комментарий