Mám formulár s mnohými vstupnými poľami.
Keď zachytím udalosť odoslania formulára pomocou jQuery, je možné získať všetky vstupné polia tohto formulára v asociatívnom poli?
$('#myForm').submit(function() {
// get all the inputs into an array.
var $inputs = $('#myForm :input');
// not sure if you wanted this, but I thought I'd add it.
// get an associative array of just the values.
var values = {};
$inputs.each(function() {
values[this.name] = $(this).val();
});
});
Vďaka tipu od Simona_Weavera je tu ďalší spôsob, ako to môžete urobiť pomocou serializeArray
:
var values = {};
$.each($('#myForm').serializeArray(), function(i, field) {
values[field.name] = field.value;
});
Všimnite si, že tento úryvok zlyhá pri <select multiple>
prvkoch.
Zdá sa, že nové vstupy formulára HTML 5 nefungujú so serializeArray
v jQuery verzie 1.3. Vo verzii 1.4+ to funguje