Closed1

HTML¦入力フォーム内に複数の入力フォームがある場合に使える技術

fuwakanifuwakani

環境

Laravel10のbladeで確認

入力内容は同一だが、別々のURIへsubmitする場合

formaction属性を使用する。

formaction属性とは

  • 送信先URLを指定できる。
  • <form>のactionよりも <button><input type="submit"><input type="image">の formaction 属性は優先される。
  • HTML5から登場

<form>: フォーム要素のaction項目

bladeファイルでは下記のように指定可能でした。

<button type="submit" formaction="{{ route('user.update', ['user_id' => $userId]) }}">

ひとつの大きな入力フォームの中に複数の入力フォームがある場合

formの中に別のformを入れても意図した動作になりませんでした。

form属性を使用する。

form属性とは

  • form外にinputなどの入力要素をおいても、要素が所属するformを関連させることができる。
    • formのidと同一の値をform要素として指定する。
  • form属性がない場合は、存在している場合直近の先祖のformに所属する。
  • HTML5から登場

<input>: 入力欄のform要素

<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"/>
このスクラップは19日前にクローズされました