[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: AJAX + checkbox[]
RCuPeR
Всем привет.

Задача следующая:
имеются чекбоксы, выводящиеся в цикле, в которых имя - масив,
<input type="checkbox" id="iddd" name="group[]" value="'.$row['ID'].'" />

в обработчике, foreach получает ключ-значение.
0=>68
1=>83 и т.д

Вот обработчик:


<?php include 'admin.php';
foreach($_POST['group'] as $key => $value) {
echo $key.'=>'.$value.'<br>';

echo 'Значение ( ID студента)'.$value.'<br>';
echo 'ID группы (селекта)'.$_POST['name_group'].'<br>';

$sql = "UPDATE `wp_users` SET `users_group` = '".$_POST['name_group']."' WHERE `ID` =".$value;

$insert = mysql_query($sql) or die(mysql_error());

if($insert){
echo 'OK!<br><br>';
} else {
echo 'ERROR<br><br>';
}
}

?>


При передаче обычным способом - всё выполняется нормально, а при передаче аяком выводит ошибку:
Warning: Invalid argument supplied for foreach() in /hsphere/local/home/almamater/almamater-lang.com/wp-admin/actions_stud_group.php on line 2


Задача: как аяксом передать массив для цикла ?!



Спустя 6 минут, 14 секунд (8.02.2011 - 23:17) waldicom написал(а):
Потому что в формате JSONнадо передавать

Спустя 4 минуты, 29 секунд (8.02.2011 - 23:21) RCuPeR написал(а):
А можешь точнее указать на это примере ?!
Погнал гуглить JSON, но это будет долго...

Спустя 1 минута (8.02.2011 - 23:22) waldicom написал(а):
Ссылкой на яндексе?

Спустя 9 минут, 54 секунды (8.02.2011 - 23:32) RCuPeR написал(а):
Нет, простым примером кода.

Спустя 1 час, 14 минут, 13 секунд (9.02.2011 - 00:46) RCuPeR написал(а):
waldicom, ну вот теперь давай по-теме:

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<
script type="text/javascript" src="jquery.json-2.2.min.js"></script>
<
script type="text/javascript">
$(document).ready(function(){
$('#button').click(function(){
var formData = {
"field1":$("#check").val()
};

//alert(toJSON($formData));
$.ajax({
url:'eba.php'
, type:'POST'
, data:'jsonData=' + $.toJSON(formData)
,
success: function(res) {
alert(res);
}
}
);
return false;
});
});
</
script>


<form id="target" >
<input
type="checkbox" name="id[]" id="check" value="1">
<input
type="checkbox" name="id[]" id="check" value="2">
<input
type="checkbox" name="id[]" id="check" value="3">
<input
type="checkbox" name="id[]" id="check" value="4">

<input
type="button" id="button" value="Button"><br><br>
</form>


<?php
$data = json_decode($_POST['jsonData']);
$response = 'Retrieved parameters '.count($data).'<br>';
foreach ($data as $key=>$value) {
$response .= 'Parameters: '.$key.'; Keys: '.$value.'<br>';
}
echo $response;
?>


В любом случае возвращает только 1-е значение.
Retrieved parameters 1
Parameters: field1; Keys: 1

Спустя 2 минуты, 7 секунд (9.02.2011 - 00:48) waldicom написал(а):
Цитата (RCuPeR @ 8.02.2011 - 22:46)
В любом случае возвращает только 1-е значение.

Тогда у меня странный вопрос: а сколько ты посылаешь? (на самом деле это даже не вопрос, а попытка подтолкнуть тебя посмотреть, какие данные ты оправляешь в этой строке:
data:'jsonData=' + $.toJSON(formData)

)

Спустя 3 минуты, 51 секунда (9.02.2011 - 00:52) RCuPeR написал(а):
data:'jsonData=' + $.toJSON(formData)


Отправляю массив jsonData, который включает в себе преобразованные В JSON ($.toJSON) данные переменной formDat.

Может где-то не догоняю. Помоги, пожалуйста.

Спустя 4 минуты, 13 секунд (9.02.2011 - 00:56) waldicom написал(а):
Цитата (RCuPeR @ 8.02.2011 - 22:52)
преобразованные В JSON ($.toJSON) данные переменной formDat.

В formData у тебя что лежит (сколько значений)?

Спустя 2 минуты, 36 секунд (9.02.2011 - 00:59) RCuPeR написал(а):
"field1":$("#check").val()


Хм...Одно. А как...Как получить массив ?!
Нужно вытащить значение атрибута 'name' ???

"field1":$("#check").attr('name')

Спустя 4 минуты, 48 секунд (9.02.2011 - 01:04) RCuPeR написал(а):
В таком случае вернёт:
Retrieved parameters 1
Parameters: field1; Keys: id[]

Спустя 9 часов, 15 минут, 41 секунда (9.02.2011 - 10:19) RCuPeR написал(а):
NULL ??? Больше вариантов нету ?!


_____________
Гнусный социопат с комплексом Бога.
Быстрый ответ:

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