Bug Tracker

Opened 10 years ago

Closed 10 years ago

#13306 closed bug (fixed)

File input added to serialized forms caused a change in behavior and only halfway follows spec

Reported by: Timmy Willison Owned by: dmethvin
Priority: blocker Milestone: 1.9.1
Component: ajax Version: 1.9.0
Keywords: Cc:
Blocked by: Blocking:

Description

According to the spec, file inputs with files attached should be serialized with special values. However, plugins that specialize in uploading files, such as jQuery File Upload, handle serializing file inputs for us and they do it in ways that are able to take advantage of some HTML5 features when available. In other words, I think all we need to do is what we did before 1.9, which was ignore file inputs in serialization.

This test case demonstrates the difference in serialization between 1.8 and 1.9 and shows that the value is still empty string when files are attached.

Change History (3)

comment:1 Changed 10 years ago by dmethvin

Component: unfiledajax
Milestone: None1.9.1
Owner: set to dmethvin
Priority: undecidedblocker
Status: newassigned

Ref #12134 where the bug was introduced. Although the spec says type="file" should be serialized, jQuery itself doesn't serialize them so we should leave them out. It should just be a case of adding file to the rsubmitterTypes regex.

https://github.com/jquery/jquery/commit/ae215fdcf843862dbddbdfd68117ac2926e35a42

comment:2 Changed 10 years ago by Timmy Willison

Correction, we don't leave the value empty, but it's still true that we don't serialize it to spec.

http://jsbin.com/orurap/1/

comment:3 Changed 10 years ago by Timmy Willison

Resolution: fixed
Status: assignedclosed

Ignore file inputs when serializing forms. File input serialization is handled by plugins. Fixes #13306.

Changeset: caac041fcc31724b8b579939e8053966559483ca

Note: See TracTickets for help on using tickets.