【HTML】フォームデータの送信先を指定する「formaction」属性

  • 2018年4月9日
  • HTML

デバックのためにコード見ていて、使ったことがない属性だったので、覚え書きとして。
HTML の Button要素である、「formaction」属性についてです。
なお、今回参考にさせていただいたサイトはこちら。

formaction属性 ≪ button要素 ≪ フォーム ≪ 要素 ≪ HTML5入門
http://html5.cyberlab.info/elements/forms/button-formaction.html

 

私がよく使うFormの書き方ですが、


<form action="データ送信先" method="post">
    <input type="text" name="name">
    <input type="email" name="email">
    <input type="submit" name="submit" value="送信">
</form>

今まで、上記のように書いていました。

が、今回後輩君が書いたコードの中に、下記のような記述を発見。



<form action="[データ送信先URL]" method="post">
    <input type="text" name="name">
    <input type="email" name="email">
    <button type="submit" formaction="[データ送信先]">送信</button>
</form>


butoon要素に、見慣れない formaction という属性があります。

 

この「formaction」ですが、HTML5で新たに追加されたもので、フォームデータの送信先URLを指定するときに使う属性とのこと。
で、注意したいのが、button要素の formaction属性 で定した送信先URLは、form要素の action属性 で指定した送信先URLよりも優先されること。
そのため、下記の場合は、botton要素 で指定した「送信先URL2」が優先されます。



<form action="[データ送信先URL1]" method="post">
    <input type="text" name="name">
    <input type="email" name="email">
    <button type="submit" formaction="[データ送信先2]">送信</button>
</form>


私の場合、うっかり違うURLを指定してしまい、違う送信先に送られる!?ということをやらかしそうです。
それを回避するためには、冒頭で挙げた記述方法を使うのが良さそうですね。

 

ということで、見慣れない formaction属性 についてのまとめでした。
これ便利!使おう!というよりも、こんな属性あるよ!という意味合いの方が強いまとめでした。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG