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

HTMLHTML5

概要

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

何が問題なの?

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

 閲覧数:567 投稿日: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
2024/11/23 1:58 更新
週間人気ページランキング / 11-16 → 11-22
順位 ページタイトル抜粋 アクセス数
1 鉄道会社毎のカラーコード | カラーコード(色) 12
2 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 10
3 Design 0 8
3 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 8
4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 6
5 「東京都」のカラーコード取得は難しい | カラーコード(色) 5
5 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 5
6 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 4
7 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 3
7 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 3
7 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 3
7 個人的によく見返すエントリーへのLinkなど | その他 3
7 RGB ⇔ Lab | 色変換(色) 3
7 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 3
7 色モデルイメージ図 | 色変換(色) 3
8 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2
8 ICCプロファイル | カラーマネージメント(色) 2
8 パッケージ化されてない拡張機能 | Chrome 拡張機能 2
8 空間的 / 可逆な JPEG ファイルの読み込みは実行されません | Photoshop CS3(Photoshop) 2
8 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 2
2024/11/23 1:01 更新