Jquery, JSON и многомерные массивы в форме

DeveloperRu
На сайте с 27.02.2009
Offline
72
4410

Подскажите, как сериализовать форму с многомерными массивами типа

<input type="text" name="data[first_name][value]" >

При попытке использовать стандартный метод $('#form').serializeArray() получаю на сервере строку типа

{"data[first_name][value]":"Иванов"}

а необходимо получить многомерный json-массив типа

{"data":{"first_name":{"value":"Иванов"}}}

как это сделать?

ПС. это необходимо, чтобы в пхп работать с многомерным массивом, пришедшим из формы

DeveloperRu добавил 20.10.2009 в 20:26

друзья, неужели никто не сталкивался ?

Ответы на вопросы (http://telenok.com)
Bdiang
На сайте с 19.07.2006
Offline
102
#1

<input type="text" name="data[first_name][value]" >

Если засабмитить форму с таким параметром, то пыхпых получит data['first_name']['value'] = ''Иванов"

Т.е data уже будет пхп массивом. Разве не так? :)

DeveloperRu
На сайте с 27.02.2009
Offline
72
#2

это если форму отправлять :)

а если на стороне сервера данные принимаются в JSON - то это поле надо преобразовать в объект JS и потом его сериализовать в JSON формат

вот это бы сделать одной функцией

Bdiang
На сайте с 19.07.2006
Offline
102
#3

Пишите функцию сами. Пример.



<input id="field" type="text" name="data['first_name']['value']" value="Иванов" />


function serialize() {

...

var data = {}, input = $('#field')[0];

eval( input.name + "='" + input.value + "'" );

...

}

ЗЫ. Не понимаю зачем на сервер данные формы отправлять в JSON. Вы не усложняете ли?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий