[3] [[HTML]] の [CODE(HTMLe)[[[form]]]] 要素および
[[WML]] の [CODE(XMLe)[[[go]]]] 要素の
[DFN[[CODE(HTMLa)[enctype]] 属性]]は、
フォーム・データを[[提出]]する際の[[媒体型]]を指定します。

[24]
:状態:[[W3C]] [[勧告]]、[[WHATWG]] [[WD]]
:[[要素型]]:
[CODE(HTMLe)@en[[QN[[[form]]] [http://www.w3.org/1999/xhtml]]]]、
[CODE(HTMLe)@en[[QN[[[input]]] [http://www.w3.org/1999/xhtml]]]]
([CODE(HTML)@en[[[image]]]]、[CODE(HTML)@en[[[submit]]]])、
[CODE(HTMLe)@en[[QN[[[button]]] [http://www.w3.org/1999/xhtml]]]]
([CODE(HTML)@en[[[submit]]]])、
[CODE(XMLe)@en[[[go]]]]
:[[属性名]]:[CODE(HTMLa)@en[[[enctype]]]]
([Q@en[encoding type]] ([Q[符号化型]]) より?)
:[[属性値]]:[[媒体型]] (>>4)
:[[既定値]]:[CODE(MIME)@en[[[application/x-www-urlencoded]]]]
(>>19)

[18] 仕様書:
- [[HTML 4]] ([[Web Forms 1.0]])
-- [CODE(HTMLe)[form]] 要素 [CODE(HTMLa)[enctype]] 属性
<IW:HTML4:"interact/forms.html#adef-enctype">
-- [CITE[17.13.4 Form content types]]
<IW:HTML4:"interact/forms.html#form-content-type">
- [[WML]] <http://www.openmobilealliance.org/wapdocs/wap-191_105-wml-20020212-a.pdf>
-- 9.5.1
- [[Web Forms 2.0]]
-- [CSECTION@en[2.17. Extensions to the submit buttons]]
<IW:WF2:"#extensions3">
-- [CITE@en-GB-x-Hixie[Web Forms 2.0]] ([TIME[2009-01-05 20:07:15 +09:00]] 版) <http://www.whatwg.org/specs/web-forms/current-work/#methodAndEnctypes>

** 属性値

[4] この属性の値は [CODE(SGML)[%[[ContentType]]]] です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。

[19] この属性は省略可能です。省略時の既定値は
[CODE(MIME)[[[application/x-www-form-urlencoded]]]] です。

[16]
ファイル送信 ([CODE(HTMLe)[[[input]]]] [CODE(HTMLa)[[[type]]]]
[CODE(HTML)[[[file]]]]) を使用する時には、
[CODE(MIME)[[[multipart/form-data]]]] を使うべきです [SRC[HTML 4 17.3]]。

提出データが非 [[US-ASCII]] 値を含む場合には [CODE(MIME)[[[multipart/form-data]]]]
を使うことが[RUBYB[推奨] [recommend]]されています [SRC[WML 9.5.1]]。

[[#comment]]


** UA による利用

[20] [[フォーム]]を [CODE(HTMLa)[[[method]]]] [CODE(HTTP)[[[POST]]]]
で[[提出]]するときに、
フォーム処理エージェントに[[フォーム・データ集合]]を渡すための書式に
[CODE(HTMLa)[enctype]] で指定したものが使われます。

詳しくはフォームの[[提出]]の説明を参照してください。

[[#comment]]


** 歴史

[34] [[NCSA Mosaic]] では [CODE(HTMLa)@en[[[enctype]]]] [[属性]]と [CODE(HTMLa)@en[[[encentity]]]]
[[属性]]が [[PEM]] によって[[暗号化]]して[[フォーム提出]]するための機能として実装されていたようです。
ただしドキュメントもソースコードもほとんど残されておらず、詳細は不明です。

;; [37] [[NCSA httpd]] がサーバー側を実装しています。

[35] [[NCSA Mosaic]] は [CODE(HTMLa)@en[[[format]]]] [[属性]]も実装しており、そちらが現在の
(そして当時の仕様案からも本来の) [CODE(HTMLa)@en[[[enctype]]]] [[属性]]に相当するものでした。

[36] なおこれらの[[属性]]は [CODE(HTMLe)@en[[[form]]]] [[要素]]だけでなく、 
[CODE(HTMLe)@en[[[isindex]]]] [[要素]]にも実装されていたようです。 (もっとも
[CODE(HTMLe)@en[[[isindex]]]] [[要素]]は [CODE(HTMLe)@en[[[form]]]] [[要素]]に展開される形で実装されていました。)

[24]
[[Web Forms 2.0]] で [CODE(HTMLe)@en[[[input]]]]
([CODE(HTML)@en[[[image]]]]、[CODE(HTML)@en[[[submit]]]])
と [CODE(HTMLe)@en[[[button]]]] ([CODE(HTMLe)@en[[[submit]]]])
に追加されました。

[[#comment]]


** 他との関係

[21] [CODE(HTMLa)[enctype]] 属性の値として媒体型の引数
[CODE(MIME)[[[charset]]]] を指定することが、
1990年代中後期にはしばしばなされました。
例えば、 [SAMP(HTML)[enctype="text/plain;charset=iso-2022-jp"]]
という指定は、[[平文]]を [CODE(charset)[[[ISO-2022-JP]]]]
で符号化して提出することを要求しています。

[[RFC 2070]] や [[HTML 4]] で [CODE(HTMLa)[[[accept-charset]]]]
属性が導入されてからは、このような指定は見られなくなりました。

[22] [CODE(HTMLa)[enctype]] 属性の指定が使われるか、
あるいは (仕様・実装上) 使えるかは、 [CODE(HTMLa)[[[action]]]]
や [CODE(HTMLa)[[[method]]]] など他の提出方法の指定の組合せに強く依存しています。
特に、定義上 HTML 4 では [CODE(HTMLa)[enctype]] が適用されるのは
[CODE(HTMLa)[method]] が [CODE(HTML)[[[post]]]] の時だけとなっています
[SRC[HTML 4 17.3]]。

[23] さまざまな仕様・実装・文書でどのような [CODE(HTMLa)[enctype]]
媒体型が使用されてきたかについては、フォームの[[提出]]の説明をご覧ください。

[[#comment]]


** メモ

[25]
[CITE@ja[詳細検索:hhstyle.com]] ([TIME[2007-07-04 20:13:50 +09:00]] 版) <http://www.hhstyle.com/cgi-bin/omc?port=33311&sid=U1183523431HVAOZ579J&req=CATEGORY_SEARCH>

>
[PRE(HTML invalid example code)[
<form action="http://www.hhstyle.com/cgi-bin/omc?port=33311&sid=U1183547646GP8UGLVHP&req=SEARCH" enctype="x-www-form-urlencoded" method="post">
]PRE]

同じ頁内に他にも1箇所。

* [CODE(HTMLe)@en[form]] 要素 [CODE(HTMLa)@en[encode]] 属性

** 例

[26] 
[CITE[ご意見募集]] ([TIME[2008-08-07 17:59:33 +09:00]] 版) <http://www.kantei.go.jp/jp/forms/goiken.html>

[PRE(HTML example code)[
<FORM action="http://form1.kmail.kantei.go.jp/cgi-bin/jp/forms/goiken.cgi" method="post" name="F1" onSubmit="return input_check()" ENCODE="application/x-www-form-urlencoded">
]PRE]

* [CODE(DOMi)@en[HTMLFormElement]] 界面 [CODE(DOMa)@en[encoding]] 属性

[27] [CODE(DOMi)@en[[[HTMLFormElement]]]] [[界面]]の
[DFN[[CODE(DOMa)@en[[[encoding]]]] [[属性]]]]は、
[CODE(HTMLa)@en[[[enctype]]]] [[内容属性]]を[[反映]]します。

* その他の提出用MIME型

[10] 
[CODE(MIME)@en[application/x-xfdl]],
[CODE(MIME)@en[application/uwi_form]]

* 歴史

[28] [CITE[IRC logs: freenode / #whatwg / 20100816]]
( ([TIME[2010-08-20 07:52:44 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20100816#l-145>

[29] [CITE@en[Web Applications 1.0 r5508     Apparently an IE oddness that everyone now supports.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10333]]
( ([TIME[2010-09-26 11:49:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5507&to=5508>


[30] [CITE[IRC logs: freenode / #whatwg / 20100926]]
( ([TIME[2010-10-10 13:13:29 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20100926>

[31] [CITE[EZweb と enctype - JE no hitori chat]]
([TIME[2008-01-25 20:06:41 +09:00]] 版)
<http://je-pu-pu.jp/blog/archives/2005/04/ezweb_enctype.html>

[32] [CITE@en[Web Applications 1.0 r7648     Fix broken logic around IDL attributes for form submission.]]
( ([TIME[2013-01-25 08:45:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7647&to=7648>

[33] [CITE@en[Web Applications 1.0 r7648     Fix broken logic around IDL attributes for form submission.]]
( ([TIME[2013-01-25 08:45:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7647&to=7648>

[38] [CITE@en[W3C HTML JSON form submission]]
( ([TIME[2014-05-27 23:38:45 +09:00]] 版))
<http://www.w3.org/TR/2014/WD-html-json-forms-20140529/>

[1] [CITE@en[Editorial: always state invalid value default]]
([[GloverDonovan]]著, [TIME[2018-03-05 13:36:29 +09:00]])
<https://github.com/whatwg/html/commit/7e941ae96b264d4743ea0afac00c3b3209ab0cde>

[2] [CITE@en[Fix contradictory statement about formenctype invalid value default]]
([[ericwilligers]]著, [TIME[2018-05-25 15:45:11 +09:00]])
<https://github.com/whatwg/html/commit/98335c106c6afccd618d33dd9a20562a1041dfd1>

[5] [CITE@en[formenctype has invalid value default · Issue #3712 · whatwg/html]]
([TIME[2018-06-01 00:32:20 +09:00]])
<https://github.com/whatwg/html/issues/3712>

[6] [CITE@en[formenctype has invalid value default by ericwilligers · Pull Request #3713 · whatwg/html]]
([TIME[2018-06-01 00:32:36 +09:00]])
<https://github.com/whatwg/html/pull/3713>

[7] [CITE@en[Fix contradictory statement about formenctype invalid value default]]
([[ericwilligers]]著, [TIME[2018-05-25 15:45:11 +09:00]])
<https://github.com/whatwg/html/commit/98335c106c6afccd618d33dd9a20562a1041dfd1>

[8] [CITE@en[formenctype has invalid value default · Issue #3712 · whatwg/html]]
([TIME[2019-02-23 18:35:30 +09:00]])
<https://github.com/whatwg/html/issues/3712>

[9] [CITE@en[formenctype has invalid value default by ericwilligers · Pull Request #3713 · whatwg/html]]
([TIME[2019-02-23 18:35:45 +09:00]])
<https://github.com/whatwg/html/pull/3713>