[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача параметров по AJAX
irina1104
Добрый день всем!
Нужна срочная помощь! Сайт на битриксе. Необходмо сделать так что при нажатие на кнопку "В корзину", он добавлял товар в корзину не обновляя страницы.
Я прописываю так:
В шаблон компонента отображение каталога:

<script type="text/javascript" src="jquery.js"></script>
<
script>
$(document).ready(function(){

$('#myForm').submit(function(){
$.ajax({
type: "POST",
url: "LocalRedirect("basket.php")",
data: "qty="+$("#qty").val(),
success: function(html){
$("#content").html(html);
}
}
);
return false;
});

});
</
script>

Затем саму форму:
<p align="right">
<form
id="myForm">
<?=
GetMessage("CATALOG_QUANTITY") ?> <input type="text" id="qty" value=1 size=3>
<input
type="hidden" name="action" value="ADD2BASKET">
<input
type="hidden" name="id" value="<?echo $arElement["ID"]?>">
<input
type="submit" value="<?echo GetMessage("CATALOG_ADD")?>">
</form>
</p>


Он добавляет товар по 1 шт. и Все равно обновляет страницу. Что я пишу не так.



Спустя 8 минут, 13 секунд (26.05.2011 - 10:02) Lenarfate написал(а):
нажатие на submit всегда перегружает страницу. попробуйте заменить ее просто на button

Спустя 5 минут, 1 секунда (26.05.2011 - 10:07) Michael написал(а):
Lenarfate, там стоит return false;

Спустя 48 секунд (26.05.2011 - 10:08) irina1104 написал(а):
Да стоит.

Спустя 2 минуты, 30 секунд (26.05.2011 - 10:10) irina1104 написал(а):
C button он вообще не ложит товар в корзину.

Спустя 6 минут, 3 секунды (26.05.2011 - 10:16) Michael написал(а):
должно работать. Возможно вы не там проблему ищете.
Посмотрите, что выводит alert:
 success: function(html){
alert(html);
$("#content").html(html);
}

Спустя 4 минуты, 6 секунд (26.05.2011 - 10:21) irina1104 написал(а):
Ничего она не выводит. Я уже не знаю где эту проблему и решать. Наша компания даже готова заплотить чтобы это нормально заработало. Вот когда просто формой

      <form>
<?=
GetMessage("CATALOG_QUANTITY") ?> <input type="text" name="qty" value=1 size=3>
<input
type="hidden" name="action" value="ADD2BASKET">
<input
type="hidden" name="id" value="<?echo $arElement["ID"]?>">
<input
type="submit" value="<?echo GetMessage("CATALOG_ADD")?>">
</form>
</p>


Он все нормально добавляет только обнлвляет страницу. Может как то можно по другому описать это добавление.

Спустя 9 минут, 46 секунд (26.05.2011 - 10:30) Michael написал(а):
Оформляйте код тегами !
Цитата
Ничего она не выводит

шикарный ответ. Может у вас яваскрипт в браузере отключен? alert перед return false отработает?

Спустя 1 час, 15 минут, 29 секунд (26.05.2011 - 11:46) m4a1fox написал(а):
А почему бы на форму не повесить Ajax с кнопкой submit?

Спустя 12 минут, 30 секунд (26.05.2011 - 11:58) Семён написал(а):
В Битриксе товар кладётся не POST запросом, а GET, затем происходит редирект.

Спустя 1 минута, 19 секунд (26.05.2011 - 12:00) irina1104 написал(а):
Я не знаю как это сделать.
И мне тут вообще подсказали, что можно В поле Action формы указать якорь после решетки, как для ссылки на место
внутри документа. Якорь может быть назначен как по свойству name
элемента a, так и по id. Вообще у формы должны быть обязательно
заполнены поля action и method.

Спустя 42 секунды (26.05.2011 - 12:00) Семён написал(а):
Прочтите что я написал выше. mad.gif
Вы делаете POST запрос, вместо GET

Спустя 1 минута, 14 секунд (26.05.2011 - 12:02) irina1104 написал(а):
Я пробовала и Get все равно если через AJAX он по 1 ложит и все. А на счет Якоря это реально или нет?

Спустя 2 минуты, 23 секунды (26.05.2011 - 12:04) Семён написал(а):
В вашей предыдущей теме, я вам указывал как включить кол-во.

Спустя 6 минут, 3 секунды (26.05.2011 - 12:10) irina1104 написал(а):
Я не видела. как это сделать.

Спустя 16 минут, 45 секунд (26.05.2011 - 12:27) irina1104 написал(а):
Семён в какой теме вы это указали?

Спустя 39 минут, 44 секунды (26.05.2011 - 13:06) Семён написал(а):
Цитата (irina1104 @ 26.05.2011 - 13:27)
Семён в какой теме вы это указали?

Спустя 24 минуты, 19 секунд (26.05.2011 - 13:31) alex12060 написал(а):

<script type="text/javascript" src="jquery.js"></script>
<script>

$(document).ready(function(){

$('#myForm input[type=submit]').click(function(e){
e.preventDefault();

$.ajax({
type: "POST",
url: "LocalRedirect("basket.php")",
data: "qty="+$("#qty").val(),
success: function(html){
$("#content").html(html);
}
}
);
return false;
});

});
</script>
Быстрый ответ:

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