| 5826 | rsubmittable = /^(?:input|select|textarea|keygen)/i; |
| 5827 | |
| 5828 | function buildParams( prefix, obj, traditional, add ) { |
| 5829 | var name; |
| 5830 | |
| 5831 | if ( jQuery.isArray( obj ) ) { |
| 5832 | // Serialize array item. |
| 5833 | jQuery.each( obj, function( i, v ) { |
| 5834 | if ( traditional || rbracket.test( prefix ) ) { |
| 5835 | // Treat each array item as a scalar. |
| 5836 | add( prefix, v ); |
| 5837 | |
| 5838 | } else { |
| 5839 | // Item is non-scalar (array or object), encode its numeric index. |
| 5840 | buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); |
| 5841 | } |
| 5842 | }); |
| 5843 | |
| 5844 | } else if ( !traditional && jQuery.type( obj ) === "object" ) { |
| 5845 | // Serialize object item. |
| 5846 | for ( name in obj ) { |
| 5847 | buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); |
| 5848 | } |
| 5849 | |
| 5850 | } else { |
| 5851 | // Serialize scalar item. |
| 5852 | add( prefix, obj ); |
| 5853 | } |
| 5854 | } |
| 5855 | |
| 5856 | // Serialize an array of form elements or a set of |
| 5857 | // key/values into a query string |