>> $(':input').each(function(idx, item) {
>>      alert(idx);
>> });
>
> There are lots of form controls that aren't input elements. They are
> all in the form's elements collection.
>

But the ":input" selector will also get non-<input> elements:

http://docs.jquery.com/Selectors/input

Overview: Matches all input, textarea, select and button elements.




On Jan 10, 2:09 am, RobG <rg...@iinet.net.au> wrote:
> On Jan 8, 8:33 am, rich <dottedq...@gmail.com> wrote:
>
> > Hello all, I'm relatively new to JavaScript.  I would like to loop
> > through all the elements within a form and grab their values and what
> > type of input they are.  So far I came up with:
>
> > $(':input').each(function(idx, item) {
> >      alert(idx);
> > });
>
> There are lots of form controls that aren't input elements. They are
> all in the form's elements collection.
>
> > The alert is placed there to see if it loops and it works as
> > expected.  I'm not sure how to alert the input's value and what type
> > it is.  Any help is greatly appreciated.
>
> A form element's value is stored in its value property, its type is
> stored in its type property. So:
>
> var el,
>     elements = document.forms[formName].elements;
> for (var i=0, len=elements.length; i<len; i++) {
>   el = elements[i];
>   alert( el.type + ': ' + el.value);
>
> }
>
> --
> Rob

Reply via email to