Select all forms in the page and serialize their input values
jquery, jquery-selectors, jqueryform
Solution
You are selecting the forms as if they were an ID `#form` (the hash sign `#` is only used when selecting on an ID). Try using just `form` instead.
$("form").each(function() {
serializedData = serializedData + $(this).serialize();
});
Update
According to the documentation the each function can take a first argument (indexInArray). So you could do something like this:
var forms = $("form");
forms.each(function(i) {
serializedData = serializedData + $(this).serialize();
// i will start a 0, therefor forms.length - 1 in the if-statement
if (i === forms.length - 1) {
// Do something on the last element
}
});
I cache the forms in a variable so that we don't have to go through the DOM every time the loop runs.
Problem
Hello i am trying to Select all forms in the page and then serialize their input values, i am using the following code: ``` function serializeAllFormData() { var serializedData; $("#form").each( function() { serializedData = serializedData + $(this).serialize(); }); return serializedData; } ``` but when i inspect serializedData it is undefined, what i am doing wrong?