2008/12/26

[javascript]history.backについて

最近、知ったのですが、javascriptを経由してinputタグのvalueを変更してsubmitを行い、その後、history.backをかますと、javascriptによって変更された後の値を保持してしまうということ。

ちょっと何がなんだかイメージがつかめないと思うので、サンプルをこさえてみます。

<form name="frm" action="" method="post">
<input type="text" name="hoge" value="0">
<input type="button" value="進む" onclick="lf_go();">
<input type="button" value="戻る" onclick="history.back();">
</form>
<script type="text/javascript">
function lf_go(){
document.frm.hoge.value = 1;
document.frm.submit();
}

</script>

上のプログラムは、submit直前にinputタグのvalueを変更しています。

問題は、submit後にhistory.backをした場合、hogeの値はどうなるかということ。
正解は、0ではなく1なんですね。

これちょっと気をつけてないと思わぬところではまりそうな気がしたので、エントリーを書きました。

0 コメント:

コメントを投稿