LoginSignup
10
8

More than 5 years have passed since last update.

HTMLだけでボタンごとのsubmit先を変える方法

Last updated at Posted at 2019-01-12

はじめに

PHPでアプリケーション制作時、一つのform上に複数ボタンがあり、ボタンによってデータの送り先やメソッドを変更したかったのですが調べてみるとJavaScriptを使うのが一般的のようです。
ただ調べてみるとHTMLだけでもできたので書いておきます。

使い方

HTML5(今回使用するformactionはHTML5から使えるようになりました)

html
<form method="post" action="?">
 <input type="checkbox" name="id[]" value="1" >1
  <input type="checkbox" name="id[]" value="2" >2
  ・
  ・
  ・

 <!-- PUTメソッド -->
  <button type="submit" formaction="送信先のurl" name="_METHOD" vlaue="put">更新</button>

 <!-- DELETEメソッド -->
 <button type="submit" formaction="送信先のurl" name="_METHOD" vlaue="delete">削除</button>
</form>

これで一つのフォームの中でチェックボックスの値をPUTとDELETEメソッドの両方に送ることができます。

ポイントは全体のformはpostメソッドで囲むことです、普段hiddenで_METHODプロパティを使ってputやdeleteメソッドを送るときと同じですね。
ただこうすると何も設定していないボタンはpostメソッドに送られてしまうので、普通に画面遷移などをする際にはそのボタンにgetメソッドを設定してください。

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8