| 8415 | rsubmittable = /^(?:input|select|textarea|keygen)/i; |
| 8416 | |
| 8417 | function buildParams( prefix, obj, traditional, add ) { |
| 8418 | var name; |
| 8419 | |
| 8420 | if ( jQuery.isArray( obj ) ) { |
| 8421 | // Serialize array item. |
| 8422 | jQuery.each( obj, function( i, v ) { |
| 8423 | if ( traditional || rbracket.test( prefix ) ) { |
| 8424 | // Treat each array item as a scalar. |
| 8425 | add( prefix, v ); |
| 8426 | |
| 8427 | } else { |
| 8428 | // Item is non-scalar (array or object), encode its numeric index. |
| 8429 | buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); |
| 8430 | } |
| 8431 | }); |
| 8432 | |
| 8433 | } else if ( !traditional && jQuery.type( obj ) === "object" ) { |
| 8434 | // Serialize object item. |
| 8435 | for ( name in obj ) { |
| 8436 | buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); |
| 8437 | } |
| 8438 | |
| 8439 | } else { |
| 8440 | // Serialize scalar item. |
| 8441 | add( prefix, obj ); |
| 8442 | } |
| 8443 | } |
| 8444 | |
| 8445 | // Serialize an array of form elements or a set of |
| 8446 | // key/values into a query string |