Napst3r
4.04.2016 - 11:52
Добрый день. Хочу подкорректировать корзину на сайте, но никак не разберусь. Добавление товара в корзину осущестляется нажатием на ссылку вида - <a href="javascript:newWindow('add2cart.htm?status=1&id=100',1,250,150)">Купить</a>. Суть - товар добавляется в корзину только после открытия нового окна. Хочется сделать так, чтобы товар добавлялся сразу после нажатия на ссылку, безо всяких всплывающих окон.
Напиши функцию на js/jquery, которая будет отправлять GET запрос в файл add2cart.htm. И замени вызов на скажем.
<span onclick="add2cart('100');return false">Купить</span>
<script type="text/javascript">
function add2cart(add_id)
{
$.get("add2cart.htm", { 'status':1, 'id':add_id });
}
</script>
Napst3r
4.04.2016 - 14:46
Большое спасибо! Вроде заработало. P.S. Подскажите, как дополнить вышеупомянутую функцию, чтобы после добавления товара в корзину появлялось что-то типа системного сообщения "Товар добавлен в корзину"?
Napst3r
4.04.2016 - 14:48
Разобрался, функция alert. Еще раз больше спасибо!
Ну алерт это очень грубо.
сделайте под кнопкой "купить" div
<span onclick="add2cart('100');return false">Купить</span>
<div id="cart_result"></div>
<script type="text/javascript">
function add2cart(add_id)
{
$.get("add2cart.htm", { 'status':1, 'id':add_id })
.done( function(result){
$('#cart_result').text('Товар добавлен в корзину');
});
}
</script>
Napst3r
4.04.2016 - 16:06
sergeiss
4.04.2016 - 16:16
Napst3r, если делать совсем уж по-современному, то можно сделать всплывающие окна (на основе ДИВов, внутри страницы текущего сайта), которые сами же автоматически исчезают через несколько секунд. Это ненамного сложнее, чем показанный тут код.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Napst3r
4.04.2016 - 16:37
Вырисовывается еще один вопрос - изначально, когда появлялось новое окно и товар добавлялся в корзину, вверху, где расположена корзина, без обновления страницы менялась информация в корзине - количество товаров и итоговая стоимость, когда переделал, эта информация перестала появляться без обновления страницы, как сделать так, чтобы она обновлялась при нажатии кнопки купить и без обновления страницы; насколько я понимаю эта информация (для корзины) содержится в этом же файле - add2cart. вот кусок кода:
<script type="text/javascript">
window.opener.document.getElementById("cart_goods").innerHTML = "'.$goods.'";
window.opener.document.getElementById("cart_sum").innerHTML = "'.$sum.'";
</script>
sergeiss
4.04.2016 - 17:10
Тебе лучше данные возвращать не в виде HTML, а в формате JSON. Тогда ты на клиентской стороне можешь более свободно оперировать полученной инфой, не изменяя отправляемые данные. И что самое главное, серверу вовсе не нужно будет знать структуру страницы, в то время как у тебя сейчас есть такая завязка. А это неправильно, т.к. очень сильно нарушает принцип MVC.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Napst3r
4.04.2016 - 17:18
sergeiss может тогда подскажете, как это лучше реализовать, или поделитесь ссылками, где об этом можно почитать, так как я в делах пхпшных совсем зеленый.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.