フォーム外でもボタンHTMLタグは有効?button要素とinput要素の違いを解説
フォーム外でも<button>タグは有効
結論から言えば、<button>タグはドキュメントのbody内のどこに配置しても有効です。ただし、設置できるのはテキストレベルのマークアップ(フレージングコンテンツ)が許可されている場所に限られます。段落の中や見出しの下など、インライン要素を記述できる位置であれば問題なく使用できます。
<input type="button">との違い
HTMLフォーム内にボタンを作成する場合には、<input type="button" />がよく使われます。<button>タグの大きな特徴は、開始タグと終了タグの間にテキストや画像などのコンテンツを自由に記述できる点です。一方、<input>タグで生成されるボタンは空要素であるため、内部にコンテンツを含めることはできません。
フォーム外におけるtype属性の既定値
フォームの外に置かれた<button>要素は、type属性を省略した場合「type="button"」が既定値になります。なお、フォーム内では省略時に「type="submit"」として扱われるため、意図しないフォーム送信を防ぐという意味でも、type属性は明示的に指定しておくのが安全です。
さらに、静的なHTMLとしてボタンを直接記述する代わりに、JavaScriptでボタンを動的に生成するという選択肢もあります。この方法なら、スクリプトが無効化されている環境でも、押しても何も起こらない無用なボタンが画面に表示されず、ユーザーの混乱を防ぐことができます。
<input type="button">と<button type="button">の関係
両者は機能的にほぼ同等の要素です。違いはラベルの与え方にあります。<input>の場合はvalue属性の値がボタンのラベルとして表示される一方、<button>の場合は要素内のコンテンツがそのままラベルになります。スタイリングの柔軟性やアクセシビリティの観点からも、多くの場面では<button>要素の利用が推奨されています。
-
HTML DOM inputボタンのformプロパティとは?使い方とサンプルコードを解説
HTML DOMにおけるinput(type=button)要素のformプロパティは、その入力ボタンを囲んでいる<form>要素への参照を返します。このプロパティを利用することで、JavaScriptから「クリックされたボタンがどのフォームに属しているのか」を簡単に判別できます。 構文 formプロパティの基本構文は次のとおりです。 object.form サンプルコード それでは、inputボタンのformプロパティの具体的な使用例を見てみましょう。このサンプルでは、2つのフォームにそれぞれ2つのボタンを配置し、クリックされたボタンが属するフォームを判定してメッセージとして表示
-
HTML DOM FileUploadのformプロパティ――ファイルアップロードボタンが属するフォームを取得する方法
HTML DOMのinput FileUploadオブジェクトにおけるformプロパティは、ファイルアップロード用の入力ボタン(<input type=file>)を内包している<form>要素への参照を返します。このプロパティを利用することで、JavaScriptから特定のファイルアップロードボタンがどのフォームに所属しているのかを簡単に判別することができます。 構文 formプロパティの基本的な構文は以下の通りです。 object.form 戻り値 ファイルアップロードボタンを含む<form>要素への参照が返されます。なお、ファイルアップロードボタ