こんにちは、さるまりんです。
HTMLフォームとアクションの切り替えについてです。
上のようなフォームので「追加」の時はadd.php
、「削除」の時はremove.php
を実行したいです。
どのようにするかいつも忘れてしまうのでメモしておきます。
フォームのHTML
です。
<form action="add.php" method="POST">
<input type="text" name="val1" size="20">
<input type="button" class="btn" data-action="add.php">追加</input>
<input type="button" class="btn" data-action="remove.php">削除</input>
</form>
クリックされるボタンによってアクションを切り替えるJavaScript
は次のようなものです。(jQuery
を利用しています。)
$('.btn').click(function() {
$(this).parents('form').attr('action', $(this).data('action'));
$(this).parents('form').submit();
});
btn
クラスの付与されたボタンをクリックした際に、data-action
で設定されている値をform
のaction
に設定し、submit()
でフォームをサブミットしています。
$(this).parents('form')
ではなく、id
やclass
を付与してそれでフォームを指定することもできます。
読んでくださってありがとうございました。
それではまた!