name属性に配列名を指定したときのブラウザバックの挙動

auの<form>要素で、name="test[]"のようにname属性にキーのない配列名を指定すると挙動がおかしくなります。
入力項目に入力後、ブラウザバックで入力したページに戻ると同一name属性値の最後の値が全てに入ります。

例えば次のような感じです。

入力フォーム

<form method="post" action="hoge.php">
<input type="text" name="test[]" />
<input type="text" name="test[]" />
<input type="text" name="test[]" />
<input type="submit" value="次へ" />
</form>

この入力フォームのテキスト入力欄に順に「あ」、「い」、「う」と入力して「次へ」ボタンを押す。
結果画面から端末ブラウザの「戻る」機能で入力ページに戻ると、全ての入力欄が「う」になります。
「あ」、「い」、「う」のままが正しい挙動です。

この場合、入力ページに戻ったときにも「あ」、「い」、「う」のままにしたいときには次のようにします。

<form method="post" action="hoge.php">
<input type="text" name="test[0]" />
<input type="text" name="test[1]" />
<input type="text" name="test[2]" />
<input type="submit" value="次へ" />
</form>

スポンサーリンク

関連記事

スポンサーリンク

携帯電話端末の判別ライブラリ Net_UserAgent_Mobile

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る