Задать вопрос
@AFI19

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

Добрый день! Подскажите, почему нможет не работать AJAX скрипт в firefox?
Скрипт отвечает за отправку данных формы(добавление товара в корзину), в Опере и Хроме все нормально. А в firefox форма перенаправляет на ссылку в action из за чего я получаю 404 и товар в корзину не попадает.
<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}&nbsp;({$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>

$('.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")
});
  • Вопрос задан
  • 257 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
crazy_str
@crazy_str
web-программист
Попробуй убрать action="/cart" )))
И почему не используешь формат передачи данных метода? POST or GET alya REQUEST?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:50
7000 руб./за проект
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект