Serializing a subset of a form
I have a form that inserts another form:
<form>
<input type="text" name="main[name]">
<textarea name="main[body]"></textarea>
<div id="embedded">
<input type="text" name="main[embedded][name]">
<textarea name="main[embedded][body]"></textarea>
</div>
</form>
I only need to serialize the inline form.
$('#embedded').serialize() leads to an empty string.
+5
2 answers
You are not pasting another form, you are pasting div.
A method serialize()can only be called on elements formor on the element itself form.
var serialized = $('#embedded').find(':input').serialize();
A method
.serialize()can act on a jQuery object that selects individual form elements, such as<input>,<textarea>and<select>. However, it is usually easier to select the tag itself<form>for serialization:
+6