【PHP】aタグ(href)を用いた遷移とform submitを同時に行いたい場合

 

<a href="#">
    <form method="post">
        <input type="hidden" name="test" value="1">
        <input type="submit">
    </form>
</a>


例えば,上記のようなコードを書いた場合,送信ボタンが現れそのボタン以外の部分をクリックし別ページに遷移するとformで送信したい値(value)を送信できません.

※submitではなく,単なるhrefの遷移であるため.

そのため,今回はaタグのhrefによる遷移とsubmitの操作を一緒に行えるようにしたいと思います.

 

ただ,やることは簡単で,以下の様に書き直すだけです.

    <form method="post">
    <a href="#" onclick="document.forms[0].submit(); return false;">
        <input type="hidden" name="test" value="1">
        <input type="submit">
    </a>
    </form>

ここで,もしformをfor文やforeach文によって繰り返し表示させている場合,form[num]のnumを繰り返しに合わせて変更しなければなりません. これに関しては,for文ならfor($i=0;$i<max;$i++)のiを入れてform[$i]とし,foreach文ならforeach($dataList as $key=>$data)の$keyを使用してform($key)とすればよいです.