テーマを一言で要約すると、<button>
は <input type="button" ... >
と同じ効果を持ちますが、機動性の点でより強力です。
HTML 4.01 仕様 の フォーム部分には、次のコントロール タイプがあります: ボタン、チェックボックス、ラジオ ボタン、メニュー、テキスト入力、ファイル選択、隠しコントロール、オブジェクトコントロール 。ボタン/メニュー/オブジェクト コントロールを除き、それらはすべて <input>
によって完了します。
ここでは <button>
と <input>
について話します。
<button>
および <input>
仕様の仕様: <button>
と<input>
を使用してフォームボタンを作成できます。さまざまなボタン タイプについては、これらの要素の詳細な定義を参照してください。 <button>
は <input>
よりも豊富な表現関数をサポートしていることに注意してください。
<input>
が次のように使用できることは誰もが知っています (実際には、次のように使用する必要があります): <input type="submit" value="OK" />
は、次のように閉じる必要があります。代わりに: <input type="submit" value="OK" ></input>
。開始タグは であり、 でなければなりませんが、終了タグは であり、禁止されています からです。
<button>
は、<input>
コンテンツを含めることができるという点で よりも強力です。その値は value
属性には書き込まれませんが、タグに含まれます。例: <button>OK
。 <button>
の開始タグと終了タグは両方とも 必須です。こうすることで、スタイルを制御できるようになります。
次のように記述することもできます: <button>OK, I do.
、または画像を挿入することもできます: <button>, it's great.
。 <input type="image">
に似ていますが、明らかにはるかに強力です。
最後に注意すべきことは、<button>
に含まれる画像はヒート マップを使用できないことです。つまり、<img src="foo.gif" usemap="..." />
にすることはできず、これは違法です。もちろん、input
、select
、textarea
、label
、button
、form
、fieldset
、iframe
、isindex
(非推奨) などの要素は使用できなくなりました。