помогите с input ссылкой во фрейме

Тема в разделе "Верстка", создана пользователем gamera, 6 янв 2015.

Информация :
Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с Правилами раздела и Правилами форума
Для быстрого поиска ответов на ваши вопросы воспользуйтесь Картой раздела и/или Поиском по разделу
Модераторы: ultra
  1. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    117
    Симпатии:
    6
    Всем привет, как можно реализовать во фрейме, если нажимают на кнопку "купить"
    Код:
    <input type="button" value="Купить" onclick="addToCart('400');" class="button">
    , то корзина открывалась в новом окне, а не во фрейме, сделал чтобы все ссылки открывались в новом окне, но вот кнопка не открывается
     
  2. NikroVir

    NikroVir Извращённый отшельник

    Регистр.:
    27 апр 2008
    Сообщения:
    327
    Симпатии:
    108
    честно говоря не силён в js, но в html открытие в новом окне target="_blank". но это относится к ссылкам
     
  3. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    117
    Симпатии:
    6
    Ну да, я так сделал для ссылок чтобы открывались в новом окне, а кнопка открывается внутри фрейма, вот и спрашиваю помощи чтобы input открывался в новом окне а не во фрейме
     
  4. vytyacom

    vytyacom Постоялец

    Регистр.:
    19 ноя 2014
    Сообщения:
    136
    Симпатии:
    55
    я думаю тут надо копать в функции addToCart, а то как мне кажется тут просто добавлением аргумента дело не решится
     
  5. tovGANs

    tovGANs Создатель

    Регистр.:
    19 июн 2012
    Сообщения:
    38
    Симпатии:
    4
    Вроде должно так срабатывать.
    Код:
    <input type="button" value="Купить" onclick="NewWindow()">
    <script>
    function NewWindow()
    {
    window.open("URL","","Parameter");
    }
    </script>
     
  6. vytyacom

    vytyacom Постоялец

    Регистр.:
    19 ноя 2014
    Сообщения:
    136
    Симпатии:
    55
    тут на событие онклик новая функция, соответственно старая уже не будет обрабатываться, т.е. окно откроется но корзина не обновится/в нее ничего не добавится.
    поэтому для начала лучше скинуть листинг функции addToCart
     
  7. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    117
    Симпатии:
    6
    Вот функция
    Код:
    function addToCart(product_id, quantity) {
        quantity = typeof(quantity) != 'undefined' ? quantity : 1;
    
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id + '&quantity=' + quantity,
            dataType: 'json',
            success: function(json) {
                $('.success, .warning, .attention, .information, .error').remove();
              
                if (json['redirect']) {
                    location = json['redirect'];
                }
              
                if (json['success']) {
                    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                  
                    $('.success').fadeIn('slow');
                  
                    $('#cart-total').html(json['total']);
                  
                    $('html, body').animate({ scrollTop: 0 }, 'slow');
                }  
            }
        });
    }
     
  8. vytyacom

    vytyacom Постоялец

    Регистр.:
    19 ноя 2014
    Сообщения:
    136
    Симпатии:
    55
    Ну вот показывается новый див с классом success.
    И судя по всему открывается не во фрейме, а просто новое окошко в активном окне. Гдето в html должен быть скрытый блок с айди notification.
    Ну и по моему скромному мнению надо ли показывать в новом окне информацию эту. Вполне возможно что открытие новых окон будет блокировать браузер.
     
  9. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    117
    Симпатии:
    6
    если не сделать, то когда клиент будет нажимать на кнопку купить под товаром, ничего происходить не будет (он не будет этого видеть)