[3] [[フォーム]]の状態である名前と値の組の列を、[DFN[[RUBYB[フォームデータ集合]@en[form data set]]]]といいます。

* 仕様書

[REFS[
- [6] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#an-entry-with-persisted-user-state>
]REFS]

* 履歴におけるフォームデータ

[4] [[セッション履歴エントリー]]には[[フォームコントロール]]の状態 ([[フォームデータ]])
を含めることができます [SRC[>>6]]。

;; [5] 含めるかどうかは[[利用者エージェント]]依存です。実際には多くの
[[Webブラウザー]]が含めているようです。

[7] [[フォームデータ]]を保持する場合は、[[方向性]] ([CODE(HTMLa)@en[[[dir]]]]
[[属性値]]) も保持する[RUBYB[べき]@en[encouraged]]です [SRC[>>6]]。

* 歴史

[1] 
>
:Form data set:
[[HTML文書]]が与える[[名前]]と[[利用者]]が与える[[値]]の組の列。
([[RFC 1866]], [[ISO‐HTML]] <http://purl.org/NET/ISO+IEC.15445/15445.html#DEFS> 4.8 参照。)

[2] [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/#form-data>

[REFS[
- [37] [CITE@en-US[XMLHttpRequest Level 2]] ([TIME[2011-08-23 10:55:38 +09:00]] 版) <http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#interface-formdata>
]REFS]

[2] 
[FIG[
>
When using a Blob, the filename reported to the server in the HTTP "Content-Disposition" header is browser-specific; Firefox uses simply "blob," while Chrome uses a random string, for example.

[FIGCAPTION[
[CITE@en[Using XMLHttpRequest - MDN]] ([TIME[2011-09-19 18:46:27 +09:00]] 版) <https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest#Using_FormData_objects>
]FIGCAPTION]
]FIG]

[38] [CITE[IRC logs: freenode / #whatwg / 20120514]]
( ([TIME[2012-05-21 23:32:11 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120514#l-343>

[39] [CITE@en[FormData - WHATWG Wiki]]
( ([TIME[2012-05-14 21:42:12 +09:00]] 版))
<http://wiki.whatwg.org/wiki/FormData>

[40] [CITE[Add support for FormData and URLSearchParams · 6a9ae23 · whatwg/fetch]]
( ([TIME[2014-07-01 09:40:45 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/6a9ae23aaace5aabf78433e0380cb4283f3ab0a8#diff-8d4d847e6257b75f4bf8030496281de4R317>

[41] [CITE@en[Re: ''''''[''''''whatwg'''''']'''''' Fetch: asFormData()]]
( ([[Anne van Kesteren]] 著, [TIME[2014-06-30 23:08:03 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Jun/0166.html>

[42] [CITE@en[Drastically simplify FormData. Preserve object identity. Remove filen… · whatwg/xhr@f9d4c25]]
([TIME[2015-05-11 11:24:50 +09:00]] 版)
<https://github.com/whatwg/xhr/commit/f9d4c255cb11ee6e80a310f5463a6b601c90376f>

[43] [CITE@en[Fix #41: bring back FormData's set() filename argument too · whatwg/xhr@c589116]]
([TIME[2016-01-09 12:04:08 +09:00]] 版)
<https://github.com/whatwg/xhr/commit/c589116bb0b571e4c758a52abf238dfd09f0a4be>

[44] [CITE@en[Remove web-incompatible simplifications of FormData]]
([[annevk]]著, [TIME[2016-06-27 20:21:38 +09:00]])
<https://github.com/whatwg/xhr/commit/1a75845e67792418a7721d516266ad01a90f2062>

[45] [CITE@en[Add a space before multipart/form-data's boundary parameter]]
([[annevk]]著, [TIME[2016-11-25 16:49:10 +09:00]])
<https://github.com/whatwg/fetch/commit/4f53460fc2d1773ef38633c3c7ac23cf1affb08c>

[46] [CITE@en[Clarify package data algorithm for FormData]]
([[eehakkin]]著, [TIME[2016-12-17 01:36:13 +09:00]])
<https://github.com/whatwg/fetch/commit/e03ee6fc7f6234005a058d9784e95861b9a0a301>

[47] [CITE@en[Editorial: use Infra for FormData]]
([[annevk]]著, [TIME[2018-04-11 23:35:03 +09:00]])
<https://github.com/whatwg/xhr/commit/b592bc3832f9661eaa20839d52b58c18fa144f3e>

[48] [CITE@en[Editorial: use Infra for FormData by annevk · Pull Request #198 · whatwg/xhr]]
([TIME[2018-04-12 15:09:59 +09:00]])
<https://github.com/whatwg/xhr/pull/198>

[49] [CITE@en[Parse string as FormData · Issue #180 · whatwg/xhr]]
([TIME[2018-04-13 09:09:06 +09:00]])
<https://github.com/whatwg/xhr/issues/180>

[50] [CITE@en[Allow FormData constructor to accept array or object too · Issue #3633 · whatwg/html]]
([TIME[2018-04-24 16:25:34 +09:00]])
<https://github.com/whatwg/html/issues/3633>

[51] [CITE@en[<input type=hidden name=_charset_> doesn't match to browser implementations · Issue #3560 · whatwg/html]]
([TIME[2018-05-02 12:54:38 +09:00]])
<https://github.com/whatwg/html/issues/3560>

[52] [CITE@en[FormData: remove 'type' mapping for 'entry']]
([[tkent-google]]著, [TIME[2018-05-08 18:05:48 +09:00]])
<https://github.com/whatwg/xhr/commit/0b0dce11579fc504c7f1799b9714e99bec9e9df1>

[53] [CITE@en[Remove 'type' mapping for 'entry'. by tkent-google · Pull Request #206 · whatwg/xhr]]
([TIME[2018-05-10 12:15:52 +09:00]])
<https://github.com/whatwg/xhr/pull/206>

[54] [CITE@en[Editorial: replace "form data set" with "entry list" (from FormData)]]
([[tkent-google]]著, [TIME[2018-05-25 20:03:10 +09:00]])
<https://github.com/whatwg/html/commit/f95aba71309d831e75ed12fbc20c7d086e8244e3>

[55] [CITE@en[Use "entry" and "entry list" defined in XHR · Issue #3676 · whatwg/html]]
([TIME[2019-02-25 17:11:35 +09:00]])
<https://github.com/whatwg/html/issues/3676>

[56] [CITE@en[Use "entry" and "entry list" defined in XHR by tkent-google · Pull Request #3687 · whatwg/html]]
([TIME[2019-02-25 17:11:44 +09:00]])
<https://github.com/whatwg/html/pull/3687>

[57] [CITE@en[Align with HTML: replace "form data set" with "entry list"]]
([[tkent-google]]著, [TIME[2018-05-23 17:24:49 +09:00]])
<https://github.com/whatwg/xhr/commit/5e7cb0aa69c4af8f376c9704147ffc4f3416434c>

[58] [CITE@en[Replace "form data set" with "entry list" to follow an HTML specifica… by tkent-google · Pull Request #210 · whatwg/xhr]]
([TIME[2019-02-25 17:13:22 +09:00]])
<https://github.com/whatwg/xhr/pull/210>

[59] [CITE@en[Throw for new FormData() when "constructing the entry list" returns null]]
([[tkent-google]]著, [TIME[2019-01-08 23:20:04 +09:00]])
<https://github.com/whatwg/xhr/commit/43d3ba6028e8d67168b6f45e95c4987ad20ab8cf>

[60] [CITE@en[FormData constructor should throw if "constructing the entry list" re… by tkent-google · Pull Request #231 · whatwg/xhr]]
([TIME[2019-06-01 11:43:54 +09:00]])
<https://github.com/whatwg/xhr/pull/231>



[8] [CITE[Rails の `utf8=✓` の歴史と消し方と snowman ☃ - Qiita]]
([TIME[2015-06-02 15:10:53 +09:00]] 版)
<http://qiita.com/tyamagu2/items/fbc44f7b41a1697ca5b7>

[9] [CITE@en[Fix #1232: Move encoding algorithm steps into substeps]]
( ([[yuyokk]]著, [TIME[2016-05-17 04:25:20 +09:00]]))
<https://github.com/whatwg/html/commit/190b1efc010f70df4ad2208112408b7e11fa3946>

[10] [CITE@en[Ensure strings in the form data set contain USVs]]
([[yuyokk]]著, [TIME[2016-12-17 05:26:43 +09:00]])
<https://github.com/whatwg/html/commit/f35af4efea8f89743ebdda4661c3bb58349828a9>

[11] [CITE@en[Make application/x-www-form-urlencoded encode filenames]]
([[annevk]]著, [TIME[2016-12-29 00:21:45 +09:00]])
<https://github.com/whatwg/url/commit/26caf4927f6c95ba4f56d701ecd8a52fdb664982>

[12] [CITE@en[Remove <keygen> by domenic · Pull Request #2221 · whatwg/html]]
([TIME[2017-01-14 21:55:29 +09:00]])
<https://github.com/whatwg/html/pull/2221>

[13] [CITE@en[Remove _charset_ handling from application/x-www-form-urlencoded]]
([[tkent-google]]著, [TIME[2018-04-27 17:23:44 +09:00]])
<https://github.com/whatwg/url/commit/5c0d2ec09ec16099e5c453d088fea9b8ba0154a5>

[14] [CITE@en[Remove _charset_ handling. by tkent-google · Pull Request #382 · whatwg/url]]
([TIME[2018-05-02 12:46:02 +09:00]])
<https://github.com/whatwg/url/pull/382>

[15] [CITE@en[Move _charset_ handling to construct the form data set]]
([[tkent-google]]著, [TIME[2018-04-27 17:25:35 +09:00]])
<https://github.com/whatwg/html/commit/8c212e549607a41b6d40d953b47d9f3e749533f3>

[16] [CITE@en[<input type=hidden name=_charset_> doesn't match to browser implementations · Issue #3560 · whatwg/html]]
([TIME[2018-05-02 12:49:39 +09:00]])
<https://github.com/whatwg/html/issues/3560>

[17] [CITE@en[Move _charset_ handling from "multipart/form-data encoding algorithm"… by tkent-google · Pull Request #3645 · whatwg/html]]
([TIME[2018-05-02 12:50:34 +09:00]])
<https://github.com/whatwg/html/pull/3645>

[18] [CITE@en[Move _charset_ handling from "multipart/form-data encoding algorithm"… by tkent-google · Pull Request #3645 · whatwg/html]]
([TIME[2018-05-02 12:50:34 +09:00]])
<https://github.com/whatwg/html/pull/3645>

[19] [CITE@en[Remove 'type' from form data set tuples]]
([[tkent-google]]著, [TIME[2018-05-08 18:07:57 +09:00]])
<https://github.com/whatwg/html/commit/a1e8b1a9725dc716326f564b91a29aca19daf2f2>

[20] [CITE@en[Remove 'type' from form data set tuples. by tkent-google · Pull Request #3658 · whatwg/html]]
([TIME[2018-05-10 12:17:38 +09:00]])
<https://github.com/whatwg/html/pull/3658>

[21] [CITE@en[Remove "type" from "form data set" entry · Issue #3648 · whatwg/html]]
([TIME[2018-05-10 12:18:05 +09:00]])
<https://github.com/whatwg/html/issues/3648>

[22] [CITE@en[Remove 'type' from from data entries]]
([[tkent-google]]著, [TIME[2018-05-08 18:08:48 +09:00]])
<https://github.com/whatwg/url/commit/acc2bf4a8e67fb13523f4ee35ff32be922eb9142>

[23] [CITE@en[Remove 'type' from from data entries. by tkent-google · Pull Request #384 · whatwg/url]]
([TIME[2018-05-10 12:19:11 +09:00]])
<https://github.com/whatwg/url/pull/384>

[24] [CITE@en[Editorial: replace "form data set" with "entry list" (from FormData)]]
([[tkent-google]]著, [TIME[2018-05-25 20:03:10 +09:00]])
<https://github.com/whatwg/html/commit/f95aba71309d831e75ed12fbc20c7d086e8244e3>

[25] [CITE@en[Use "entry" and "entry list" defined in XHR · Issue #3676 · whatwg/html]]
([TIME[2018-06-01 00:35:49 +09:00]])
<https://github.com/whatwg/html/issues/3676>

[26] [CITE@en[Use "entry" and "entry list" defined in XHR · Issue #3676 · whatwg/html]]
([TIME[2018-06-01 00:35:49 +09:00]])
<https://github.com/whatwg/html/issues/3676>

[27] [CITE@en[Use "entry" and "entry list" defined in XHR by tkent-google · Pull Request #3687 · whatwg/html]]
([TIME[2018-06-01 00:36:20 +09:00]])
<https://github.com/whatwg/html/pull/3687>

[28] [CITE@en[Align with HTML: replace "form data set" with "entry list"]]
([[tkent-google]]著, [TIME[2018-05-23 17:24:49 +09:00]])
<https://github.com/whatwg/xhr/commit/5e7cb0aa69c4af8f376c9704147ffc4f3416434c>

[29] [CITE@en[Replace "form data set" with "entry list" to follow an HTML specifica… by tkent-google · Pull Request #210 · whatwg/xhr]]
([TIME[2018-06-01 00:40:32 +09:00]])
<https://github.com/whatwg/xhr/pull/210>

[30] [CITE@en[Editorial: remove form and submitter type declarations]]
([[amoseui]]著, [TIME[2018-05-16 15:37:47 +09:00]])
<https://github.com/whatwg/html/commit/a3dca41f0bb379f4132689dd8fa435be28223a7c>

[31] [CITE@en[Remove form and submitter words and leave type declarations by amoseui · Pull Request #3688 · whatwg/html]]
([TIME[2019-02-18 13:29:41 +09:00]])
<https://github.com/whatwg/html/pull/3688>

[32] [CITE@en[Editorial: replace "form data set" with "entry list" (from FormData)]]
([[tkent-google]]著, [TIME[2018-05-25 20:03:10 +09:00]])
<https://github.com/whatwg/html/commit/f95aba71309d831e75ed12fbc20c7d086e8244e3>

[33] [CITE@en[Use "entry" and "entry list" defined in XHR · Issue #3676 · whatwg/html]]
([TIME[2019-02-25 17:11:20 +09:00]])
<https://github.com/whatwg/html/issues/3676>

[34] [CITE@en[Use "entry" and "entry list" defined in XHR by tkent-google · Pull Request #3687 · whatwg/html]]
([TIME[2019-02-25 17:11:47 +09:00]])
<https://github.com/whatwg/html/pull/3687>

[35] [CITE@en[Align with HTML: replace "form data set" with "entry list"]]
([[tkent-google]]著, [TIME[2018-05-23 17:24:49 +09:00]])
<https://github.com/whatwg/xhr/commit/5e7cb0aa69c4af8f376c9704147ffc4f3416434c>

[36] [CITE@en[Replace "form data set" with "entry list" to follow an HTML specifica… by tkent-google · Pull Request #210 · whatwg/xhr]]
([TIME[2019-02-25 17:13:18 +09:00]])
<https://github.com/whatwg/xhr/pull/210>

[61] [CITE@en[Event-based form participation]]
([[tkent-google]]著, [TIME[2019-01-08 23:18:23 +09:00]])
<https://github.com/whatwg/html/commit/1375c0ca5dd95ecb2ae5ad1d8d7bcc9bc75981c0>

[62] [CITE@en[Need callback for form submit data · Issue #187 · w3c/webcomponents]]
([TIME[2019-06-20 11:14:30 +09:00]])
<https://github.com/w3c/webcomponents/issues/187>

[63] [CITE@en[Event-based form participation by tkent-google · Pull Request #4239 · whatwg/html]]
([TIME[2019-06-20 11:29:29 +09:00]])
<https://github.com/whatwg/html/pull/4239>

[64] [CITE@en[Clone form data after dispatching the formdata event]]
([[tkent-google]]著, [TIME[2019-01-11 18:08:26 +09:00]])
<https://github.com/whatwg/html/commit/04d776463564a0566e29895714a9ad78683f1dc4>

[65] [CITE@en[formdata event: Clone an entry list by tkent-google · Pull Request #4283 · whatwg/html]]
([TIME[2019-06-20 11:30:18 +09:00]])
<https://github.com/whatwg/html/pull/4283>

[66] [CITE@en[formdata event: Clone an entry list by tkent-google · Pull Request #4283 · whatwg/html]]
([TIME[2019-06-20 11:30:49 +09:00]])
<https://github.com/whatwg/html/pull/4283>

[67] [CITE@en[Make the formdata event bubble]]
([[tkent-google]]著, [TIME[2019-03-09 05:46:33 +09:00]])
<https://github.com/whatwg/html/commit/e8e2d90c8c5a1bff97f5e04c154b960bb840ec00>

[68] [CITE@en['formdata' event should bubble. by tkent-google · Pull Request #4422 · whatwg/html]]
([TIME[2019-07-15 20:37:27 +09:00]])
<https://github.com/whatwg/html/pull/4422>

[69] [CITE@en[Align with IDL constructor changes]]
([[autokagami]]著, [TIME[2019-09-24 22:47:10 +09:00]])
<https://github.com/whatwg/xhr/commit/22424f0eed9696a935fb441e8cede66517fc5490>

[70] [CITE@en[Editorial: make the FormDataEvent constructor's argument required]]
([[TimvdLippe]], [TIME[2019-11-19 03:02:19 +09:00]], [TIME[2021-03-16T07:32:29.000Z]])
<https://github.com/whatwg/html/commit/c1897228ffffcc4ca55d4ad574de17addf6e2703>

[71] [CITE@en[IDL of FormDataEvent constructor has an incorrect optionality · Issue #5064 · whatwg/html]]
([TIME[2021-03-16T07:32:52.000Z]])
<https://github.com/whatwg/html/issues/5064>

[72] [CITE@en[Make eventInitDict argument of FormDataEvent constructor required by TimvdLippe · Pull Request #5073 · whatwg/html]]
([TIME[2021-03-16T07:34:02.000Z]])
<https://github.com/whatwg/html/pull/5073>