HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い

HTMLHTML5

概要

 状態:-  閲覧数:5,843  投稿日:2015-03-21  更新日:2016-04-06
HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い
・<button> … フォームの外で直接使用しても良い
・<input> … フォームの外で直接使用しても良い
・<form>内で、<button>クリックすると、submit指定していないのにフォーム送信される


より正確には


HTML5
・フォーム関連要素(<input><button><textarea>など)を、<form>外部に記述しても、そのフォームに所属しているものとして取扱可能
・フォーム関連要素 … <form>外部に記述しても良い

HTML 4.01
・フォーム関連要素(<input><button><textarea>など)を、<form>外部に記述すると、そのフォームに所属しているものとして取扱不可
・フォーム関連要素 … <form>外部に記述しても良い? → 未調査に付き不明

関連付けできないことと、<form>外部に記述しても良いか、は別次元の話
・しかし、HTML 4.01は今後使用することはないので、気にする必要はない
・大事なことは、HTML5では「フォーム関連要素を<form>外部に記述しても良い」という点

何が問題なの?

 閲覧数:745 投稿日:2015-03-21 更新日:2015-03-21

きっかけ


button要素を、<form>の外で使用したい
・「JS」処理や「デザイン」等の事由により、フォーム関連要素を<form>外部に記述したいケースは割と多い


事例


問題となるケース
・フォーム関連要素を<form>内部に記述すると、問題が発生するケース

例1
・ボタンクリックしたら、Ajax処理でフォーム要素に入力項目を付与したい
・<form>内部に<button>記述
・クリックした際、submitされて、リロードされてしまう
→ <button>クリック処理はしたいが、フォーム全体をsubmitはしたくない

例2
・<form>内部の<a>を目立たせるため、<button>にしたい
・<form>内部に<button>記述
・クリックした際、submitされて、リロードされてしまう
→ リンクなので、クリック処理はしたいが、フォーム全体をsubmitはしたくない


対応


button要素を、<form>外部で記述すれば良い
・上記事例の対応は、ここで終了


紐付け


・「フォーム関連要素を単に<form>外部に記述したいケース」についての対応は、以下のとおり

<form>外部に記述したフォーム関連要素を<form>と関連付けするためには、form属性を使用

 閲覧数:795 投稿日:2015-03-21 更新日:2015-03-21

form属性


「formタグ」とは異なる
・HTML5 で新たに定められた属性
・使用することで、<form>外部に記述したフォーム関連要素と、<form> 要素を紐付けることが可能


<button>要素


form属性


<input>要素


form属性


具体例


<form>外部で使用している<button>を関連付け
<button form = "test">ボタン</button>

<form id = "test">
 <input type="text" name="★★">
 <input type="submit" value="送信">>
</form>


<form>外部で使用している<fieldset>を関連付け
<fieldset form = "test">
名前:<input type="text" name="★★">
電話:<input type="tel" name="tel">
メール:<input type="email" name="email">
住所:<input type="text" name="address">
</fieldset>

<form id="test">
   <button type="submit">送信</button>
</form>


Link
form内のbuttonとform外のbuttonの違い
フォーム — HTML5 日本語訳


HTML5では、action属性を省略すると、送信先はそのHTMLファイル自身になる

HTML5で画像ファイル存在判定



類似度ページランキング
順位 ページタイトル抜粋
1 HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い 76
2 HTML5では、inputタグの閉じタグを付与しない 50
3 HTMLで「1つのタグにidを複数指定」は出来ない! 37
4 探している「HTML5エディタ」 33
5 HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる 33
6 「Create Link」代替拡張機能を探した結果は、「CopyTabTitleUrl」でした。 33
7 HTML5では、action属性を省略すると、送信先はそのHTMLファイル自身になる 33
8 「異なるキーフレームアニメーション名」に、「transformの異なる値」を記述できない 32
9 「Twitter Bootstrap」✕「フォーム」 32
10 「Twitter Bootstrap」のアイコンは、画像なので色を変更できない 31
11 HTML5では「ブロックレベル要素」「インライン要素」で分類しない 31
12 divタグがdisplay:block;とかしても、ブロック要素にならないときは、 31
13 タグの"submit"属性の見た目を、CSSで変更しようとしてハマる 31
14 CSS3-mediaqueries.jsは、@ importスタイルシートに記述した内容を反映しない 30
15 一つの要素に対して「id 属性値」を複数指定することは出来ない 30
16 「Twitter Bootstrap」2系のアイコンは、画像なので大きく出来ない 29
17 「直後が A 要素 でない B 要素」を指定するCSSセレクタは、「A:not(:has(+ B)) {}」 29
18 「隣接する直前要素」で「最初の要素以外」を指定するCSSセレクタは、囲う要素 直前要素:not(:first-child):has(+ 直後要素){} 29
19 ボタン候補2 / 「ボタン」エリア外で「テキスト」表示しても良いの? 29
20 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する 29
2026/7/17 2:06 更新
週間人気ページランキング / 7-9 → 7-15
順位 ページタイトル抜粋 アクセス数
1 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 8
2 「東京都」のカラーコード取得は難しい | カラーコード(色) 6
3 Design 0 4
3 絶対パス | HTML 4
4 RGBの種類 / ビットカラー | RGB(色) 3
5 Photoshop カテゴリー 2
5 CSSトラブル対応(CSS) カテゴリー 2
5 CSSは、//でコメントアウトできない。1行でも複数行でも、構文は、/* コメント */ のみ | CSSトラブル対応(CSS) 2
5 RGB → 色相H 方式の違い | 色変換(色) 2
5 画像縦横比の問題 | 画像 2
5 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する | Google Chrome(ブラウザ) 2
5 SeaMonkey 2.7.2 2
6 Chromeブラウザは、ユーザーという単位で情報管理している(Cookieを使用する場面もあるが、必ずしもCookieだけに頼っているわけではない) | Google Chrome(ブラウザ) 1
6 試行履歴 1
6 rem × Bootstrap4 1
6 画像エフェクト試行例 / FotoSketcher ペイント10(ブラシストローク画) 1
6 nuspecファイル 1
6 Flexible box の縦方向中央揃えは、「vertical-align: middle;」ではなく「align-items: center;」 1
6 RGB正六面体 → HSL円柱 1
6 「z-index」のマイナス順で、重なりが変化しない 1
2026/7/16 5:05 更新