<form method=""></form>
更新日 | |
---|---|
仕様 | HTML Living Standard |
分類 | フロー・コンテンツ / パルパブル・コンテンツ |
利用場所 | フロー・コンテンツが置ける場所 |
内容 | フロー・コンテンツ(ただし、form要素は含められない) |
form要素に method=""
を追加すると、フォームの送信方法を指定することができます。
<form method="post" action="example.cgi"></form>
属性 | 値 | ||
---|---|---|---|
任意属性 | |||
method="" |
フォームの送信方法 | get |
URLの形式でデータを送信(既定値) |
post |
本文としてデータを送信 | ||
dialog |
祖先のdialog要素を閉じる |
- 値の
dialog
は、form要素がdialog要素の中に置かれている場合に指定することができます。
postとgetについて
通常、method属性には post
または get
を指定します。これは、フォームを送信する際のHTTPメソッドを指定するもので、用途に合わせてどちらかを指定することになります。(この指定を省略した場合は get
が使用されます)
- POST方式
-
フォームのデータをHTTPリクエストの本文として送信します。(一度に大量のデータを送信することができます)
<form method="post" action="example.cgi"> </form>
- GET方式
-
フォームのデータをURLの末尾に追加して送信します。(送信できるデータ量には制限があります)
<form method="get" action="example.cgi"> </form>
例えば次のような感じで送信されます。
https://www.example.com/demo.cgi?name=Taro&age=17
メールフォームなどの一般的なフォームでは、POST方式がよく使用されています。また、検索エンジンのフォームではGET方式が使用されているようです。
dialogについて
HTML5.2以降では、method属性の値に dialog
を指定できるようになりました。
この値を指定すると、フォームの送信ボタンが押された際に、祖先のdialog要素が閉じるようになります。
次の例では、確定ボタンを押すとダイアログが閉じられます。
<dialog id="example">
<form method="dialog">
<p>ここにフォーム部品を配置</p>
<p><button type="submit">確定</button></p>
</form>
</dialog>
- この値を指定する場合は、form要素をdialog要素の中に配置する必要があります。
- この値は、送信時のHTTPメソッドを指定するものではなく、ダイアログを閉じる目的で使用するものになります。(ページの移動は行われません)
- ダイアログの表示には、dialog要素の他にJavaScriptが必要となります。(詳細についてはdialog要素のページをご覧ください)