[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Чекбоксы и ajax
noo
Ребят, помогите с такой проблемой:

Как передавать массив с value чекбоксов пост-запросом в аякс?

У меня схема такая - есть несколько категорий, так вот, нужно чтобы при клике на чекбокс показывались товары из категории, при клики на другой чекбокс - из этой и прошлой, при снятии чтоб не показывались. Вроде понятно объяснил? smile.gif

Со всем уже разобрался (если просто переменные принимать), но как блин собирать эти чекбоксы в массив до отправки и передавать их php-обработчику?



Спустя 29 минут, 8 секунд (9.10.2010 - 16:42) arvitaly написал(а):
<script>
function paj()
{
var chs = document.getElementById("f").getElementsByTagName("input");
var r=Array();
for (var i=0;i<chs.length;i++)
{
if (chs[i].type=="checkbox")
{
r[chs[i].name]=chs[i].checked;
}
}

for (var rr in r)
{
alert(r[rr]);
}
}

</script>
<
form id="f" onsubmit="paj();return false;">
<
input type="CheCkbox" name="ch1" />
<
input type="checkbox" name="che2" />
<
input type="checkbox" name="c3" />
<
input type="submit" value="Отправить" />
</
form>


Спустя 19 минут, 35 секунд (9.10.2010 - 17:01) noo написал(а):
Спасибо, arvitaly.
Сорри за очередной нубский вопрос, но в мою функцию отправки теперь так можно вставить:

 var query = 'pricemin='+pricemin+'&pricemax='+pricemax+'&cat='+r;
request.open('post', 'selector.php' , true );

и в $_POST['cat'] упадет массив с name выбранных чекбоксов?

Спустя 10 минут, 55 секунд (9.10.2010 - 17:12) arvitaly написал(а):
а где вы query То передаете

Спустя 12 минут, 19 секунд (9.10.2010 - 17:24) noo написал(а):
а точно, в другой функции-то.

  function selectorOut() {
var query = 'pricemin='+pricemin+'&pricemax='+pricemax+'&cat='+r;
request.open('post', 'selector.php' , true );
request.onreadystatechange = updatePage;
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
request.send(query);
}

Спустя 29 минут, 26 секунд (9.10.2010 - 17:54) arvitaly написал(а):
Ну а в чем вопрос то?

Спустя 7 минут, 33 секунды (9.10.2010 - 18:01) noo написал(а):
В силу моей js-неграммотности, такой вариант не работает smile.gif

Спустя 8 минут, 55 секунд (9.10.2010 - 18:10) noo написал(а):
Для полной картины:

<form id="f" onsubmit="selectorOut();return false;">
<input
type="сheсkbox" name="1" />
<input
type="checkbox" name="2" />
<input
type="checkbox" name="3" />
</form>


 function selectorOut() {

var chs = document.getElementById("f").getElementsByTagName("input");
var r=Array();
for (var i=0;i<chs.length;i++)
{
if (chs[i].type=="checkbox")
{
r[chs[i].name]=chs[i].checked;
}
}

for (var rr in r)
{
alert(r[rr]);
}

var pricemin = document.getElementById("price_min").value;
var pricemax = document.getElementById("price_max").value;
var query = 'pricemin='+pricemin+'&pricemax='+pricemax+'&cat='+r;
request.open('post', 'selector.php' , true );
//request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
request.send(query);
}


Что не так?

Спустя 2 минуты, 6 секунд (9.10.2010 - 18:12) arvitaly написал(а):
Жесть, а что именно не работает то, мой код ващет был примером в r будет скорее всего не то что вам нужно)

Спустя 8 минут, 34 секунды (9.10.2010 - 18:21) noo написал(а):
Так бы сразу и сказали smile.gif
Ну сама функция ( selectorOut() ) теперь не срабатывает, не отправляет данные.
Без var к работает.

Спустя 1 день, 18 часов, 51 минута, 20 секунд (11.10.2010 - 13:12) noo написал(а):
Ребят, может еще кто подскажет?
Быстрый ответ:

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