jQuery $('form').serialize() returns only one element of a form serialized
<p>Given the following form:</p>

<pre><code>&lt;form id="form" name="form"&gt;
&lt;input name="name"/&gt;
&lt;input name="version"/&gt;
&lt;input name="template"/&gt;
&lt;textarea name="elements"&gt;&lt;/textarea&gt;
&lt;textarea name="features"&gt;&lt;/textarea&gt;
&lt;textarea name="layout"&gt;&lt;/textarea&gt;
&lt;input type="submit" value="Save"/&gt;
&lt;/form&gt;
</code></pre>

<p>and javascript (using jQuery 1.3.2):</p>

<pre><code>$(function() {
    $('#form').bind('submit',function() { alert($('#form').serialize()); return false; });
    });
</code></pre>

<p>The output of submitting the above form from the above javascript alert is:</p>

<pre><code>elements=...
</code></pre>

<p>Where ... is whatever is contained in the elements field.</p>

<p>I would expect that $('#form').serialize() to return a string something like:</p>

<pre><code>name=&amp;version=&amp;template=&amp;elements=&amp;features=&amp;layout=.
</code></pre>

<p>I do note that $('input,textarea').serialize() <strong>does</strong> perform the expected behaviour (i.e. return "name=&amp;version=&amp;template=&amp;elements=asdafe&amp;features=&amp;layout="), however I'm curious as to why the $('#form') version only returns "elements=".</p>

<p>I've tried this on Safari 4 and Firefox 3.5, so I'm confident it's something I'm missing.</p>

<p>Thanks for reading.</p>
