Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как обновлять содержание другой страницы через Ajax
Форумы портала PHP.SU » » CMS и фреймворки » Как обновлять содержание другой страницы через Ajax

Страниц (1): [1]
 

1. denisseo - 18 Мая, 2014 - 17:24:54 - перейти к сообщению
Добрый день уважаемые посетители форума

Помогите пожалуйста с помощью технологии ajax вывести на странице сайта содержание таблицы с другой страницы.
Требуется это для того, чтобы при добавлении товара в корзину посетитель сайта мог видеть количество добавленного товара и кнопку оформить заказ на странице, на которой он положил товар в корзину.

Вывести содержание загруженной корзины получилось с помощью обычного скрипта, но проблема в том, что содержание корзины отображается лишь после перезагрузки страницы - а не сразу по добавлению товаров в корзину.

Вот мой код:

<div id="cart_div"></div>


<script>
$(document).ready(function () {
var cart_div = $("#cart_div");
cart_div.load("/cart/ .table.cart");
});
</script>

с помощью данного кода у меня получается вывести со страницы /cart/ содержание таблицы <table class="table cart"></tabe>, но, для того, чтобы его посмотреть необходимо нажать f5 на этой же странице.

как сделать с помощью ajax так чтобы содержание таблицы выводилось сразу при добавлении товара в корзину, без обновления всей страницы.

Заранее спасибо за ответ
2. Viper - 18 Мая, 2014 - 18:40:41 - перейти к сообщению
Вешайте обработку не на ready а на click по элементу.
3. denisseo - 18 Мая, 2014 - 18:48:10 - перейти к сообщению
Viper пишет:
Вешайте обработку не на ready а на click по элементу.


Viper, спасибо за ответ
Помогите пожалуйста с кодом

кнопка добавления в корзину

<input type="submit" value="В корзину">

заранее спасибо
4. Viper - 18 Мая, 2014 - 18:59:24 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. $(':submit').click(function(e){
  2.         $('#cart_div').load('/cart/ .table.cart');
  3. });


Учтите что лучше для кнопки добавить id и обращаться через него ибо код выше обработает все кнопки с типом submit.

Т.е.
CODE (html):
скопировать код в буфер обмена
  1. <input type="submit" id="update_cart" value="Добавить" />

CODE (javascript):
скопировать код в буфер обмена
  1. $('#update_cart').click(function(e){
  2.         $('#cart_div').load('/cart/ .table.cart');
  3. });


PS! Если не возможно по каким-то причинам на сабмит вешать id или class то вешайте на форму и используйте первый код как $('formID :submit')...
5. denisseo - 18 Мая, 2014 - 19:32:28 - перейти к сообщению
Viper пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. $(':submit').click(function(e){
  2.         $('#cart_div').load('/cart/ .table.cart');
  3. });


Учтите что лучше для кнопки добавить id и обращаться через него ибо код выше обработает все кнопки с типом submit.

Т.е.
CODE (html):
скопировать код в буфер обмена
  1. <input type="submit" id="update_cart" value="Добавить" />

CODE (javascript):
скопировать код в буфер обмена
  1. $('#update_cart').click(function(e){
  2.         $('#cart_div').load('/cart/ .table.cart');
  3. });


PS! Если не возможно по каким-то причинам на сабмит вешать id или class то вешайте на форму и используйте первый код как $('formID :submit')...



Сделал как вы и сказали

в месте вывода опубликовал код


<div id="cart_div"></div>


<script>
$('#update_cart').click(function(e){
$('#cart_div').load('/cart/ .table.cart');
});
</script>


а кнопке прикрутил id="update_cart"

<input id="update_cart" type="submit" {if !$product_available}disabled="disabled" class="add2cart-disabled"{/if} value="[`Add to cart`]">

но совсем ничего не выводится ни пр нажатии на кнопку ни просто при обновлении

может есть еще какой то способ ?
помогите пожалуйста, по зарез как надо
6. Viper - 18 Мая, 2014 - 19:48:33 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function($){
  2.         $('#update_cart').click(function(e){
  3.                 e.preventDefault();
  4.                 $('#cart_div').load('/cart/ .table.cart');
  5.         });
  6. });


а если так?
7. denisseo - 18 Мая, 2014 - 20:13:11 - перейти к сообщению
Viper пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function($){
  2.         $('#update_cart').click(function(e){
  3.                 e.preventDefault();
  4.                 $('#cart_div').load('/cart/ .table.cart');
  5.         });
  6. });


а если так?



при таком варианте вообще все глючит

при таком варианте

<div id="cart_div"></div>


<script>
$(document).ready(function () {
var cart_div = $("#cart_div");
cart_div.load("/cart/ .table.cart");
});
</script>

все стабильно выводится на всех страницах сайта - но для этого надо после добавления товара в корзину нажать f5

при последнем варианте кнопка добавления в корзину глючит и товары выводят только на странице добавления в корзину - при переходе на другую любую страницу - товары исчезают и не отображаются
(Добавление)
<script>
$(document).ready(function(){
$('#update_cart').click(function(){
$('#cart_div).load("/cart/ .table.cart");
});
});
</script>

при таком варианте товар выводится только на странице, где добавляется товар в корзину с запозданием в один товар

при переходе на любую другую страницу или обновлении страницы товар исчезает
8. Viper - 18 Мая, 2014 - 20:25:26 - перейти к сообщению
Что-то где-то глючит у вас однако... Даже не знаю чем ещё помочь.
9. denisseo - 18 Мая, 2014 - 20:36:02 - перейти к сообщению
Viper, Спасибо большое за помощь Подмигивание
вы и так много чего подсказали

может в движке какая загвоздка

буду дальше разбираться
10. denisseo - 19 Мая, 2014 - 18:51:01 - перейти к сообщению
Ура у меня получилось Улыбка
Viper большущее спасибо вам еще раз, без вашей помощи ничего бы не получилось

у меня получилось обновлять содержание корзины без перезагрузки всей страницы с помощью ссылки, которую я прикрутил к выпадающему блоку "мои покупки"

в итоге код получился следующим

<div id="block"></div>

<script type="text/javascript">
function fync() {
$("#block").load("/cart/ .table.cart", function() {
});
};
</script>


к ссылке, по нажатию на которую надо обновлять содержание блока прикрутил

<a onclick="fync();">мои покупки</a>

 

Powered by ExBB FM 1.0 RC1