同じform内で複数の送信ボタンを設置して、それぞれ送信先を別にしたいということがあったので、設定方法をメモしておきます。
サンプルコード
送信ボタンにdata属性で送信先を指定する方法で実装してみます。
<form action="./publish.html" method="get"> <input type="text" name="title"> <button data-action="./draft.html">下書き</button> <button data-action="./publish.html">公開</button> </form>
jQueryを使って、data-actionをクリックした時にformのactionを書き換えるようにします。
$(function() { $('[data-action]').on('click', function(e) { e.preventDefault(); var $form = $(this).parents('form'); var actionUrl = $(this).data('action'); $form.attr('action', actionUrl); $form.submit(); }); });
これで送信先を変更することができました。
ボタン毎に送信先を設定するデモページ
コメントが承認されるまで時間がかかります。