2011-04-01 18 views
12

Come tutti sappiamo, .serialize() e .serializeArray() manca comodamente file fields (anche `campi nascosti).

Ma, C'è un problema da cui è possibile ottenere il valore del campo di file da .serialize()?

P.S: Ho appena intenzione di ottenere il value, non upload il file. (Naturalmente, il caricamento dei file sarebbe meglio se è possibile, ma non penso JS è in grado di tale azione)

+0

'.serialize()' non può funzionare sui campi file, perché JavaScript non ha accesso al suo contenuto (cioè il contenuto del file). Semplicemente non è possibile inviare file con AJAX. – RoToRa

+0

Non più: https://developer.mozilla.org/en/docs/DOM/FileReader – luxcem

risposta

4

Si può checkout la jquery form plugin che supporta file uploads pure.

+0

Questa potrebbe essere un'alternativa, ma comunque vorrei solo ottenere il valore nel campo del file. – Starx

+0

@Starx, hai provato '$ ('# id_of_your_file_input'). Val()'? Ovviamente non dovresti dimenticare che per motivi di sicurezza non otterrai il percorso del file, ma solo il nome del file. –

+0

@Darin, immagino che tu abbia dimenticato la mia domanda, quando hai suggerito '$ ('# id_of_your_file_input'). val() '. Voglio che '.serialize()' sia in grado di ottenere '$ ('# id_of_your_file_input'). val() ' – Starx

Problemi correlati