Skip to main content

Bug Tracker

Side navigation

#13306 closed bug (fixed)

Opened January 22, 2013 10:05PM UTC

Closed January 23, 2013 05:24PM UTC

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

Reported by: timmywil 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.

Attachments (0)
Change History (3)

Changed January 22, 2013 10:09PM UTC by dmethvin comment:1

component: unfiledajax
milestone: None1.9.1
owner: → 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

Changed January 22, 2013 10:41PM UTC by timmywil comment:2

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/

Changed January 23, 2013 05:24PM UTC by Timmy Willison comment:3

resolution: → fixed
status: assignedclosed

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

Changeset: caac041fcc31724b8b579939e8053966559483ca