Ранее я использовал следующее:
var my_form = $('#form-id');
var data = {};
$('input:not([type=checkbox]), input[type=checkbox]:selected, select, textarea', my_form).each(
function() {
var name = $(this).attr('name');
var val = $(this).val();
if (!data.hasOwnProperty(name)) {
data[name] = new Array;
}
data[name].push(val);
}
);
Это просто записано из памяти, поэтому может содержать ошибки, но это должно сделать объект с именем data
, который содержит значения для всех ваших входных данных.
Обратите внимание, что вы должны иметь дело с флажками особым образом, чтобы избежать получения значений непроверенных флажков. То же самое, вероятно, относится и к радиовходам.
Также обратите внимание на использование массивов для хранения значений, так как для одного имени входа у вас могут быть значения из нескольких входов (в частности, флажки).