

Form内にボタンを２つ設置し、各々別の処理（action）をさせることって可能ですか？  
以下LaravelのBladeです。

例えば Next を教えたときに `action method.a` 、Finish で `action method.b` を実行させるという具合です。

[code]

    <form method="post" action={{ route('method.a')}}>
        @csrf                
                <input type="hidden" name="id" value = "{{$id}}" >                     
                <textarea type="textarea" class = "textarea" id="item" name="itemList"></textarea>
                    <br/>
                  
                    ：<input type="text" id = "sss" name="sss" value =""> 
                    ：<input type="text" id = "ppp" name="ppp" value =""> 
                    <button type="submit" class="button">Next</button>
                    <br/>
                <button type="submit" class="button">Finish</button>
        </div>
    </form>
    
[/code]


CC BY-SA 4.0
2021-08-03T03:58:13.767
80556
2023-09-19T13:05:35.660
2021-08-03T07:11:52.003
3060
44839
question
html laravel
Form内にボタンを２つ設置し、各々別の処理をさせたい。


buttonタグにformaction属性をつけると良いのではないでしょうか。

以下のページなどが参考になると思います。

[html5 で導入された button タグに付けれる formaction と formtarget 属性
を用いてプレビューを実現する](https://qiita.com/yamotuki/items/e394bcc38614c091c7fd)


CC BY-SA 4.0
2021-08-03T06:41:54.787
80560
2021-08-03T07:10:27.293
2021-08-03T07:10:27.293
3060
8647
80556
answer


別の方が既に書かれている通りactionを切り替える場合 `formaction ` が使える他、actionが同じだった場合は `<button
name="foo" value="bar">barボタン</button>`
みたいな感じでどのボタンが押されたのかサーバ側で受け取れる（これで処理を切り替えられる）ので、これら適宜使い分けると良いです。

ちなみにどちらの方法を使う場合も **ボタンクリックではなくエンターキー押下でsubmitされた場合**
に注意して下さい。多くのブラウザは「form中に最初に現れたボタンがsubmitされたと見做す」という動作になってますがそれはおそらくユーザーの意図する挙動ではないので、これに該当する場合エンターキーによるsubmitを抑制する対応が必要です。


CC BY-SA 4.0
2022-07-19T08:34:46.490
90083
2022-07-19T08:34:46.490
53573
80556
answer