Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   $.post + много масивов (https://javascript.ru/forum/jquery/10438-%24-post-mnogo-masivov.html)

korner 05.07.2010 11:18

$.post + много масивов
 
Столкнулся с вот такой проблемой, нужна через $.post отправить много массивов, но не знаю как это сделать.

Например у меня есть вот такой html.
<input type=text  name="save_con[home_title]" value="$config['home_title']">
<input type=text  name="save_con[url]" value="$config['url']">
<input type=text  name="save_con[title]" value="$config['title']">
...


Ну вот и собственно и проблема, в нете нашол как отправить отдельные значение.
$.post(action, {'foo' : $('#test').val()},function(data){ ... });


Вопрос как отправить массив с данными если у меня таких input более 30 и больше?

Обработчик test.php должен получить массив name=>value.

exec 05.07.2010 13:19

Засунуть все инпуты в форму и напустить на неё jQ.serialize()

korner 05.07.2010 13:28

Цитата:

Сообщение от exec (Сообщение 62264)
Засунуть все инпуты в форму и напустить на неё jQ.serialize()

Не был бы джин так любезен и сказать что это такое и как оно работает.

e1f 05.07.2010 16:08

Цитата:

Сообщение от exec (Сообщение 62264)
Засунуть все инпуты в форму и напустить на неё jQ.serialize()

Цитата:

Сообщение от korner (Сообщение 62270)
Не был бы джин так любезен и сказать что это такое и как оно работает.

Форма не нужна, $('input.some-general-class').serialize() выдаст строку сериализированных параметров. $('input.some-general-class').serializeArray() выдаст массив из пар ключ-значение для каждого инпута.

korner 05.07.2010 17:04

Цитата:

Сообщение от e1f (Сообщение 62280)
Форма не нужна, $('input.some-general-class').serialize() выдаст строку сериализированных параметров. $('input.some-general-class').serializeArray() выдаст массив из пар ключ-значение для каждого инпута.

Попробывал serializeArray() через alert()
var result = $('input').serializeArray();
alert(result);
   $.post("engine/jquery/save.php",{name:'value'},function(data){..}


но он выдал мне что то такое.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]


Я не понял что эта такое и как отправить через $.post
И serialize( ) тоже не понятно как пихнуть в $.post

korner 05.07.2010 17:17

Все тема закрыта!
все дела с кобках каторые нужна убрать
var result = $('input').serializeArray();
   $.post("engine/jquery/save.php",{result},function(data){

В место ,{result}, нужна писать ,result,

dr83 17.09.2011 00:43

не получается так... или все дело в формате json?

$(document).ready(function(){
$('#update').click(function(){
var fields = $(":input").serializearray();
$.post('select10.php', {action: 'update', fields, function(data){
},'json');
});
});

не работает(
прошу совета...
как реализовать отправку всех данных формы методом $.post и получить автоматом все пары в php обработчике?
$input=unserialize($_POST['fields']);
$input=json_decode($_POST['fields']);

все перепробовал( перечитал - но уже каша в голове... нид хелп

korner 17.09.2011 10:01

serializearray() Собирает в виде массива.
У вас не правильно составлен код, попробуйте так:
$.post('select10.php?action=update', fields, function(data){

},'json');

dr83 18.09.2011 23:07

спасибо, что ответили... а дальше? как вы в php "распаковываете" этот массив? буду крайне признателен если хотя бы по двум переменным пример покажете

melky 18.09.2011 23:32

по-моему, если переменная передана так :
Цитата:

lol.php?arr[]=1&arr[]=2&arr[]=3
то в пхп можно будет взять этот массив (не строку. массив) так.
$arr = $_GET["arr"];


если мне память не изменяет :)


Часовой пояс GMT +3, время: 17:12.