[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление товара в корзину без всплывающего окна
Napst3r
Добрый день. Хочу подкорректировать корзину на сайте, но никак не разберусь. Добавление товара в корзину осущестляется нажатием на ссылку вида - <a href="javascript:newWindow('add2cart.htm?status=1&id=100',1,250,150)">Купить</a>. Суть - товар добавляется в корзину только после открытия нового окна. Хочется сделать так, чтобы товар добавлялся сразу после нажатия на ссылку, безо всяких всплывающих окон.
Kusss
Напиши функцию на js/jquery, которая будет отправлять GET запрос в файл add2cart.htm. И замени вызов на скажем.
<span onclick="add2cart('100');return false">Купить</span>

<script
type="text/javascript">
function
add2cart(add_id)
{
// Отправить GET запрос, jQuery
$.get("add2cart.htm", { 'status':1, 'id':add_id });
}
</script>
Napst3r
Большое спасибо! Вроде заработало. P.S. Подскажите, как дополнить вышеупомянутую функцию, чтобы после добавления товара в корзину появлялось что-то типа системного сообщения "Товар добавлен в корзину"?
Napst3r
Разобрался, функция alert. Еще раз больше спасибо!
Kusss
Ну алерт это очень грубо.
сделайте под кнопкой "купить" div
<span onclick="add2cart('100');return false">Купить</span>
<div
id="cart_result"></div>

<script
type="text/javascript">
function
add2cart(add_id)
{
// Отправить GET запрос, jQuery
$.get("add2cart.htm", { 'status':1, 'id':add_id })
.
done( function(result){
$('#cart_result').text('Товар добавлен в корзину');
});

}
</script>
Napst3r
user posted image
sergeiss
Napst3r, если делать совсем уж по-современному, то можно сделать всплывающие окна (на основе ДИВов, внутри страницы текущего сайта), которые сами же автоматически исчезают через несколько секунд. Это ненамного сложнее, чем показанный тут код.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Napst3r
Вырисовывается еще один вопрос - изначально, когда появлялось новое окно и товар добавлялся в корзину, вверху, где расположена корзина, без обновления страницы менялась информация в корзине - количество товаров и итоговая стоимость, когда переделал, эта информация перестала появляться без обновления страницы, как сделать так, чтобы она обновлялась при нажатии кнопки купить и без обновления страницы; насколько я понимаю эта информация (для корзины) содержится в этом же файле - add2cart. вот кусок кода:

<script type="text/javascript">
window.opener.document.getElementById("cart_goods").innerHTML = "'.$goods.'";
window.opener.document.getElementById("cart_sum").innerHTML = "'.$sum.'";
</script>
sergeiss
Тебе лучше данные возвращать не в виде HTML, а в формате JSON. Тогда ты на клиентской стороне можешь более свободно оперировать полученной инфой, не изменяя отправляемые данные. И что самое главное, серверу вовсе не нужно будет знать структуру страницы, в то время как у тебя сейчас есть такая завязка. А это неправильно, т.к. очень сильно нарушает принцип MVC.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Napst3r
sergeiss может тогда подскажете, как это лучше реализовать, или поделитесь ссылками, где об этом можно почитать, так как я в делах пхпшных совсем зеленый.
Kusss
Да вот в соседней ветке сегодня обсуждали.
http://phpforum.su/index.php?showtopic=0&v...dpost&p=3108534
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.