- From: Mark Kaplun <mark@marksw.com>
- Date: Sun, 11 Oct 2009 13:59:17 +0300
Ian Hickson wrote: > On Mon, 5 Oct 2009, Mark Kaplun wrote: > >> I have only learned now that there is a "text/plain" option that I have >> never heard of, so maybe I'm wrong, but my impression is that there are >> only two forms of form, a textual and a file upload. IMHO the browser >> can inspect the form before submitting it and decide by itself what is >> the correct encoding to use. >> >> Can the use of this attribute be deprecated, be valid only for backward >> compatibility? >> > > On Mon, 5 Oct 2009, Boris Zbarsky wrote: > >> You can use multipart/form-data with a form that doesn't include any >> file uploads (and people do this). Presumably they might have reasons >> for this (e.g. they happen to have a sane multipart MIME parsing library >> and don't want to deal with the url-encoding mess the >> application/x-www-form-urlencoded option produces. >> > > On Tue, 6 Oct 2009, Mark Kaplun wrote: > >> Fair enough. Can the spec be changed in regard to the default encoding, >> and make it depend on the content of the form instead of being >> application/x-www-form-urlencoded, and then like today, the enctype >> attribute can be used to override the default encoding? >> > > While I agree that it is probably an authoring error if the author > included a type=file control on a page with the default enctype, I don't > think the magic of changing the default in that case would help authors on > the long run. Consider, for instance, an author who sets up his form with > a file upload control, gets everything working, and then decides to remove > the file upload control because they don't actually use it, or because > it's optional and they want a script to add it dynamically. They might > find that suddenly their form doesn't work, but as far as they are > concerned all they did was remove a form control that wasn't used in the > first place. > > I think this would be too confusing. > > I think that in practice no one is writing his own mime handling routines to handle the data in a post message, and people just use a framework which handles it for them. I am familiar with the way PHP handles posts and I know that for the PHP code the mime type is handled by PHP itself and you don't care about it in your code. In your example the form will work, because the server code never did any assumptions on the mime type. I don't know enough about other server languages but I would assume that handling the post mime type automagically is one of the basic candies that every modern server language provides. Maybe I should have started with an example where the current behavior hurts: I am developing plugins and themes for wordpress. An often requested feature is to have an image associate with a post/category/whatever. Worpress has a plugin api and I can use it to add fields to admin forms, so in theory I just need to add a file input. The problem is that all of the admin except for one are textual and do not specify an enctype, and therefor I have to add some JS code to change the enctype on the client side, or develop some pointless buffering and string replacement to set the correct enctype.
Received on Sunday, 11 October 2009 03:59:17 UTC