2011-04-01 16 views
12

Como todos sabemos, .serialize() y .serializeArray() pierde convenientemente file fields (también `campos ocultos).

Pero, ¿hay alguna solución de la que podría obtener el valor del campo de archivo desde .serialize()?

P.S: acabo la intención de conseguir la value, no upload el archivo. (por supuesto, el archivo de Carga sería mejor si es posible, pero no creo que JS es capaz de tal acción)

+0

'.serialize()' no puede trabajar en campos de archivos, porque JavaScript no tiene acceso a su contenido (que es el contenido del archivo). Simplemente no es posible enviar archivos con AJAX. – RoToRa

+0

Ya no: https://developer.mozilla.org/en/docs/DOM/FileReader – luxcem

Respuesta

4

Usted puede pedir la jquery form plugin que apoya file uploads también.

+0

Esto podría ser una alternativa, pero igual me gustaría obtener el valor en el campo del archivo. – Starx

+0

@Starx, ¿has probado '$ ('# id_of_your_file_input'). Val()'? Obviamente, no debe olvidar que, por razones de seguridad, no obtendrá la ruta al archivo, sino solo el nombre del archivo. –

+0

@Darin, supongo que se olvidó de mi pregunta, cuando sugirió '$ ('# id_of_your_file_input'). val() '. Quiero que '.serialize()' pueda obtener '($ id). val() ' – Starx