* [CODE(HTMLa)@en[action]] 属性 (HTML)

[14] [[HTML]] の [CODE(HTMLe)[[[form]]]] 要素の
[DFN[[CODE(HTMLa)[action]] 属性]]は、
[DFN[フォーム処理エージェント]] (提出された[[フォーム]]・データを処理する装置)
を指定します。

[22]
:状態:[[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(HTMLe)@en[[QN[[[button]]] [http://www.w3.org/1999/xhtml]]]]
:[[属性名]]:[CODE(HTMLa)@en[[[action]]]]
([Q@en[[[action]]]] ([Q[動作]]) より)
:[[属性値]]:[[URI]] (>>16)
:[[既定値]]:[[空文字列]] (>>23)

[15] 仕様書:
- [[HTML 4]] ([[Web Forms 1.0]])
-- [CODE(HTMLe)[form]] 要素 [CODE(HTMLa)[action]] 属性
<IW:HTML4:"interact/forms.html#adef-action">
-- [CITE[HTML 4 Changes]]
<IW:HTML4:"appendix/changes.html#h-A.1.1.12">
- [[Web Forms 2.0]]
-- [CSECTION@en[2.16. Extensions to the [CODE(HTMLe)@en[[[form]]]] element]]
<IW:WF2:"#extensions2">
-- [CSECTION@en[2.17. Extensions to the submit buttons]]
<IW:WF2:"#extensions3">

[19]
HTML 4 DTD [[注釈]] (参考) は
[Q[server-side form handler]] 
(鯖側フォーム取扱器) と説明しています。


** 属性値

[16] この属性の値は [CODE(SGML)[%[[URI]]]] です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。

[17] この属性は必須です。
[SRC@en[HTML 4]]

[23]
[[Web Forms 2.0]] でこの制約は緩和されました。
[[著者]]は [CODE(HTMLa)@en[[[action]]]] [[属性]]を省略[['''して構いません''']]。
[[利用者エージェント]]は、省略された場合、
[[空文字列]]が指定されたかのように動作[['''しなければなりません''']]。
[SRC@en[WF2 2.16]]

** UA による利用

[18] この属性の値は、フォームの[[提出]]先を表します。

Web Forms 1.0 では [[HTTP]] URI 以外が指定された時の動作は未定義です
[SRC[HTML 4.01 17.3]]。

詳しくはフォームの[[提出]]の説明をご覧ください。

[[#comment]]


** 安全性

[20] [CODE(HTMLa)[action]] 属性に指定する [[URI参照]]は
[CODE(URI)[[[https]]:]] [[URI]] にしても、
[[フォーム]]自体が [[SSL]]・[[TLS]] を使わない素の [[HTTP]]
では意味がありません。フォームが正しいものだという保証がないからです
[WEAK[([CODE(HTMLa)[action]] が改変されたものかもしれません)]]。

[21] 安全性については[[提出]]の項もご覧下さい。

[[#comment]]


** 歴史

[25]
[[Web Forms 2.0]] でこの[[属性]]は省略可能になりました。
また、 [CODE(HTMLe)@en[[[input]]]] [[要素]]と
[CODE(HTMLe)@en[[[button]]]] [[要素]]にも追加されました。

[[#comment]]


** 例

[24] [SRC@en[WF2 2.15]]
[PRE(HTML example code)[
<form xml:base="http://search.example.com/">
 <p><input type="submit"/></p>
</form>
]PRE]

この例では、[[フォーム]]が[[提出]]される [[URI]]
は [CODE(URI)@en[http://search.example.com/]] となります。

* isindex 要素 action 属性 (HTML)

- [1] ''Article 910 at 100/06/14 18:19:08 From: aito@ei5sun.yz.yamagata-u.ac.jp Subject: [w3m-dev 00910] ISINDEX'' <http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/200006.month/910.html> [[isindex]] 要素にも [CODE(HTML)[ACTION]] 属性がある。 ([[W3C]] [[HTML]] にはないが。)
- [2] >>1 [[HTML+]] 作業文書では [[href]] 属性だ。 (''ISINDEX'' <http://www.w3.org/MarkUp/HTMLPlus/htmlplus_51.html>)
- [3] >>1-2 [CODE(HTML)[ISINDEX]] 要素に [CODE(HTML)[ACTION]] 属性を導入したのは一体誰だろう。 HTML+ 前後の殺伐で誰かが提案した可能性が高そうだけど、少なくても [[form]] 要素 (の [CODE(HTML)[ACTION]] 属性) が確立された後だと思うんだが、どうよ? >>4
- [4] >>3 よ、検索したら意外と簡単にみつかったよ。 ''Lynx-Dev Archives: Re: <isindex action ... /cgi-bin/wwwwais> not working with lynx'' <http://www.flora.org/lynx-dev/lynx-dev/9403/0101.html>
結論としては [[Mosaic]] の野郎どもが悪い、という方向で。
- [5] >>4 [[Lynx]] の中の人も大変ですね。
- [6] 一般?の説明にも載ってる例: ''HTML ACTION - HTML Code Tutorial'' <http://www.htmlcodetutorial.com/forms/_ISINDEX_ACTION.html>
- [7] >>6 同じく: ''HTML: The Complete Reference: Appendix A - <isindex>'' <http://www.htmlref.com/reference/AppA/isindex.htm>
- [8] [[WinIE]] には古くからある (Mosaic 遺伝?) が、今の [[Mozilla]] にはないな。
- [9] [[M$]] の [CODE(HTML)[ACTION]] 属性の reference: ''ACTION Attribute | action Property (FORM, ISINDEX)'' <http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/action.asp>
- [10] >>6-7 更に: ''Handleiding HTML - Beschrijving ISINDEX element'' <http://www.dto.tudelft.nl/mirhtml/element/isindex.htm> (蘭語)
- [11] ''ISINDEX'' <http://www.ohotuku26.or.jp/organization/abc/def/CGI/isindex.html> 1995年ごろに書かれたらしい。 [CODE(HTML)[action]] 属性は当然のように扱う一方、 [CODE(HTML)[PROMPT]] 属性は Netscape が対応していると。 (今じゃ立場が逆転して [CODE(HTML)[ACTION]] が存在が疑われるくらいなのに!)
- [12] [[HTML3.0]] draft には [[href]] 属性がありました。
- [13] >>5 中の人などいない!


[26] [CITE@en[Web Applications 1.0 r5784   Disallow action='' and formaction='' since those get processed in an unexpected way.]]
( ([TIME[2011-01-13 08:48:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5783&to=5784>

[27] [CITE[XML Events 2]]
( ([TIME[2010-12-18 05:25:20 +09:00]] 版))
<http://www.w3.org/TR/xml-events2/#section-action-element>

[28] [CITE@en[Revert "Fix #859: Special-case empty string in reflect as URL"]]
([[zcorpan]]著, [TIME[2016-09-07 02:20:27 +09:00]])
<https://github.com/whatwg/html/commit/85227d27670d37382fe5e3dd2084a76cd4e9abf4>

[29] [CITE@en[Remove unimplemented/unnecessary form.action special reflection by domenic · Pull Request #2662 · whatwg/html]]
([TIME[2017-06-06 17:57:48 +09:00]])
<https://github.com/whatwg/html/pull/2662>

[30] [CITE@en[Fix errors in reflection requirements by ayg · Pull Request #2950 · whatwg/html]]
([TIME[2017-09-03 16:29:25 +09:00]])
<https://github.com/whatwg/html/pull/2950>