| 9441 | rsubmittable = /^(?:input|select|textarea|keygen)/i; |
| 9442 | |
| 9443 | function buildParams( prefix, obj, traditional, add ) { |
| 9444 | var name; |
| 9445 | |
| 9446 | if ( jQuery.isArray( obj ) ) { |
| 9447 | // Serialize array item. |
| 9448 | jQuery.each( obj, function( i, v ) { |
| 9449 | if ( traditional || rbracket.test( prefix ) ) { |
| 9450 | // Treat each array item as a scalar. |
| 9451 | add( prefix, v ); |
| 9452 | |
| 9453 | } else { |
| 9454 | // Item is non-scalar (array or object), encode its numeric index. |
| 9455 | buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); |
| 9456 | } |
| 9457 | }); |
| 9458 | |
| 9459 | } else if ( !traditional && jQuery.type( obj ) === "object" ) { |
| 9460 | // Serialize object item. |
| 9461 | for ( name in obj ) { |
| 9462 | buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); |
| 9463 | } |
| 9464 | |
| 9465 | } else { |
| 9466 | // Serialize scalar item. |
| 9467 | add( prefix, obj ); |
| 9468 | } |
| 9469 | } |
| 9470 | |
| 9471 | // Serialize an array of form elements or a set of |
| 9472 | // key/values into a query string |