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

HTMLHTML5

概要

 状態:-  閲覧数:5,121  投稿日: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>外部に記述しても良い」という点

何が問題なの?

 閲覧数:554 投稿日: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属性を使用

 閲覧数:599 投稿日: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
2025/3/10 22:31 更新
週間人気ページランキング / 3-3 → 3-9
順位 ページタイトル抜粋 アクセス数
1 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 7
2 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 6
2 RGB ⇔ Lab | 色変換(色) 6
3 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 5
3 このエントリーの結論 / 変更するまで /変更後 5
3 鉄道会社毎のカラーコード | カラーコード(色) 5
3 「東京都」のカラーコード取得は難しい | カラーコード(色) 5
4 色モデルイメージ図 | 色変換(色) 3
4 24ビットカラーにおけるHLS要素範囲 / 最小値 ~ 最大値 3
4 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 3
5 G'MIC | GIMP 系(ソフトウェア) 2
5 16進数カラーコード / 2進数 2
5 「bgcolor」「background-color」「background」の違い | CSS 2
5 「line-height」効果を打ち消すスタイルシートは、「line-height:normal; 2
5 「display:flex;」を設定している「
  • タグ」内の「タグ」クリック範囲を拡大する | Flexible Box Layout Module(CSS)
  • 2
    5 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 2
    5 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 2
    6 「OOCSS」とは別の考え方? | 命名規則(コーディングルール) 1
    6 効果を打ち消すスタイルシート | CSS 1
    6 2系(Bootstrap) カテゴリー 1
    2025/3/10 1:01 更新