2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« フォームを送信して戻るとフォームの入力データが消える問題を回避する。 | トップページ | フォームの入力データなどが入った、そのとき実行中のソースを表示する。 »

2008年6月10日 (火)

フォームを送信して戻るとフォームの入力データが消える問題を回避する。(その2)

掲示板に書き込んだり、フォームを送信する前に、別のウィンドウにそのページを残す。

掲示板に書き込んだり、フォームを送信するとき、パラメタエラーなどで、前に戻ると入力データが消えていて、再度一から入力し直す、なんてことがあります。

フォームの送信前に CTRL+N または、 [ファイル] - [新規ウィンドウ] (IE7) または、 [ファイル] - [新規作成] - [ウィンドウ] (IE6) すると、新しいウィンドウに同じページが表示されます。
このとき、入力データがコピーされるケースもありますが、消えるケースもあります。

そこで、IEのコンテクストメニューを拡張して、人為的に新しいウィンドウを作成し、ページ内容をコピーします。

フォームの送信前に、ページ上で右クリックして、コンテキストメニューから、「ウィンドウの複製(W)」を選択します。

CopyWindow.htm

<head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
<script language=vbscript defer>
set win=window.open(external.menuArguments.top.document.URL,"_blank")
Do While win.document.readyState<>"complete"
'  alert win.document.readyState
Loop
win.document.body.innerHTML=external.menuArguments.top.document.body.innerHTML
win.document.title="複製:" & win.document.title
</script>
</head>

CopyWindow.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\ウィンドウの複製(&W)]
@="C:\\どこか\\CopyWindow.htm"

こうして複製したウィンドウのタイトルには、元のタイトルの前に「複製:」が付きます。
このページからデータをコピーしたり、印刷するのは構いませんが、送信は、やめておいたほうがよいでしょう。

« フォームを送信して戻るとフォームの入力データが消える問題を回避する。 | トップページ | フォームの入力データなどが入った、そのとき実行中のソースを表示する。 »