autocomplete と Firefox「戻る」で入力内容が消える,の絡み

基本的には Cache-Control 等でキャッシュ不可に「しない」場合,ブラウザの「戻る」ボタンで戻ってもフォームの入力内容は残っています。でもテスト環境でテストしていて Firefox 1.5 で戻ったら内容が消えてて,あれれ?となりました。

IE で確認したらちゃんと残っているし,デプロイ先の環境ではちゃんと残っている。「Live HTTP Headers」で確認したらヘッダの内容に差はない。

なぜだ〜と思ったら,どうも autocomplete="off" してたからっぽいです。私の場合テスト環境(デバッグ環境)では autocomplete がうざいので

function disableAutoComplete() {
	num_forms = document.forms.length;
	for (fi = 0; fi < num_forms; fi ++) {
		f = document.forms[fi];
		num_elems = f.elements.length;
		for (ei = 0; ei < num_elems; ei ++) {
			f.elements[ei].setAttribute("autocomplete", "off");
		}
	}
}

このような Javascript を(稚拙ですいません)onload で実行しているんですが,それをはずしたらちゃんと「戻る」ボタンで戻ってきても入力内容が残っていました。まぁテストは IE 使っておけばよいという話もありますが。