* enctype 属性 (HTML, XHTML 1, WML)
[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]] 属性
-- [CITE[17.13.4 Form content types]]
- [[WML]]
-- 9.5.1
- [[Web Forms 2.0]]
-- [CSECTION@en[2.17. Extensions to the submit buttons]]
-- [CITE@en-GB-x-Hixie[Web Forms 2.0]] ([TIME[2009-01-05 20:07:15 +09:00]] 版)
** 属性値
[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]]
** 歴史
[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]] 版)
>
[PRE(HTML invalid example code)[