Сериализация формы с помощью jQuery

Функция jQuery serializeArray() выполняет именно то, что тебе нужно. Просто надо привести данные к нужному формату. Можно воспользоваться этой функцией:

$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '''');
} else {
o[this.name] = this.value || '''';
}
});
return o;
};

Следующий пример выводит в консоль результат сериализации формы: первый — просто функцией serializeArray(), а второй — нашей функцией. Чтобы увидеть эти объекты, необходимо включить консоль Firebug или другого отладчика.

jQuery(''#thebutton'').click(function(){
console.log(jQuery(''#theform'').serializeArray());
console.log(jQuery(''#theform'').serializeObject());
});
Пример





Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.