Closed1
HTML¦入力フォーム内に複数の入力フォームがある場合に使える技術
環境
Laravel10のbladeで確認
入力内容は同一だが、別々のURIへsubmitする場合
formaction
属性を使用する。
formaction
属性とは
- 送信先URLを指定できる。
-
<form>
のactionよりも<button>
、<input type="submit">
、<input type="image">
の formaction 属性は優先される。 - HTML5から登場
bladeファイルでは下記のように指定可能でした。
<button type="submit" formaction="{{ route('user.update', ['user_id' => $userId]) }}">
ひとつの大きな入力フォームの中に複数の入力フォームがある場合
formの中に別のformを入れても意図した動作になりませんでした。
form
属性を使用する。
form
属性とは
- form外にinputなどの入力要素をおいても、要素が所属するformを関連させることができる。
- formのidと同一の値をform要素として指定する。
-
form
属性がない場合は、存在している場合直近の先祖のformに所属する。 - HTML5から登場
<form id="kani_form" action="{{ route('user.update', ['user_id' => $userId]) }}" method="POST">
<input type="text" name="name"/>
<button type="submit">保存する</button>
</form>
<input type="text" name="name_kana" form="kani_form"/>
このスクラップは2024/04/28にクローズされました