class method Form.serializeElements
Form.serializeElements(elements[, options]) → String | Object
-
elements(Array) – A collection of elements to include in the serialization. -
options(Object) – (Optional) A set of options that affect the return value of the method.
Serialize an array of form elements to an object or string suitable
for Ajax requests.
As per the HTML spec, disabled fields are not included.
If multiple elements have the same name and we're returning an object, the value for that key in the object will be an array of the field values in the order they appeared on the array of elements.
The preferred method to serialize a form is Form.serialize. Refer to
it for further information and examples on the hash option. However,
with Form.serializeElements you can serialize specific input
elements of your choice, allowing you to specify a subset of form elements
that you want to serialize data from.
The Options
The options allow you to control two things: What kind of return
value you get (an object or a string), and whether and which submit
fields are included in that object or string.
If you do not supply an options object at all, the options
{ hash: false } are used.
If you supply an options object, it may have the following options:
hash(Boolean):trueto return a plain object with keys and values (not aHash; see below),falseto return a String in query string format. If you supply anoptionsobject with nohashmember,hashdefaults totrue. Note that this is not the same as leaving off theoptionsobject entirely (see above).submit(Boolean |String): In essence: If you omit this option the first submit button in the form is included; if you supplyfalse, no submit buttons are included; if you supply the name of a submit button, the first button with that name is included. Note that thefalsevalue must really befalse, not falsey; falsey-but-not-false is like omitting the option.
(Deprecated) If you pass in a Boolean instead of an object for
options, it is used as the hash option and all other options are
defaulted.
A hash, not a Hash
If you opt to receive an object, it is a plain JavaScript object with keys
and values, not a Hash. All JavaScript objects are hashes in the
lower-case sense of the word, which is why the option has that
somewhat-confusing name.
Examples
To serialize all input elements of type "text":
Form.serializeElements( $('myform').getInputs('text') )
// -> serialized data