ばけらの HTML リファレンス(未完成)

bakera.jp > 鳩丸リファレンス > ばけらの HTML リファレンス(未完成) > 要素一覧 > form要素

form要素

要素名バージョン開始タグ終了タグ分類/親中身
form2.0, 2.x, 3.2, 4.0, X1.0, X1.1必須必須%block;(%block;|script)+ -(form)
属性名バージョン属性値既定値備考
action3.2, 4.0, X1.0, X1.1%URI;#REQUIREDserver-side form handler
method3.2, 4.0, X1.0, X1.1(GET|POST)GETHTTP method used to submit the form
enctype3.2, 4.0, X1.0, X1.1%ContentType;"application/x-www-form-urlencoded"
accept-charset4.0, X1.0, X1.1%Charsets;#IMPLIEDlist of supported charsets
accept4.0, X1.0, X1.1%ContentTypes;#IMPLIEDlist of MIME types for file upload
name4.0, X1.0, X1.1CDATA#IMPLIEDname of form for scripting
target(4.0), (X1.0)%FrameTarget;#IMPLIEDrender in this frame

共通属性 …… %coreattrs;, %i18n;, %events;

formの解説

入力フォームの大枠を規定する要素です。普通、フォームの中には input要素select要素などを用いてコントロールを配置し、ユーザーからのデータ入力を受け付けます。送信ボタンを押すとそのデータは送信されることになりますが、その送信先や送信の方法を form要素の属性値として指定する必要があります。

action属性は送信先の URI を指定します。普通は CGI のような、サーバ側でデータを受け取って処理できるものを送り先として指定することになるでしょう。昔は mailto: スキームの URI でメールアドレスを指定するという方法も定義されていたのですが、クライアント側でメーラーの設定がされていないと動作しなかったり、SMTP に 8bit の生データを流して文字化けしたりと、不都合が多かったものです。HTML4.01 では正式に (?) この動作は未定義となりましたので、仕様的にも動作の保証はくなりました。

method属性はデータの送信方法を指定します。値は get と post の二つで、これらはそれぞれ HTTP 要求メソッドの GET と POST に対応しています。GET と POST 以外のもの (HEAD, PUT, DELETE など) は指定できません。

enctype属性 は、データの MIMEタイプを指定するものです。既定値は application/x-www-form-urlencoded で、これはデータを URL エンコードします。通常はこのままで問題ありませんが、フォーム中に <INPUT type="file"> を含む場合は "multipart/form-data" を使用する必要があります。

HTML4.01 では name属性も追加されました。これでスクリプトで用いるための名前を付けることができるのですが、名前は id属性で指定することが推奨されています。name が追加されたのは既存のブラウザ実装との互換性のためです。

なお、HTML3.2 以降では、form要素の外にフォームコントロールを配置することもできます (HTML2.0 ではできませんでした)。これはスクリプトを起動するためのスイッチだとか、その結果表示だとかに使われるものです。しかしながら、HTML3.2 に対応していると言いつつ form の外に配置したコントロールを無視してしまう (手抜き実装の?) ブラウザも存在しますので、注意しましょう。

最近の日記

関わった本など

ウェブの仕事力が上がる標準ガイドブック 5 Webプログラミング