そのような場合は隠しフレームを使う方法があります。
仕組みを簡単に書くと、
全体をフレーム表示にして、隠しフレーム側はサイズを0にします。
画面の表示としては、「メイン画面(a.html,b.html)+隠しフレーム」となります。
処理は、
a.htmlのsubmitのタイミングで隠しフレームに値の設定を行い、
submit処理が終わりb.htmlが表示の際、
onloadのタイミングで
隠しフレームから値の取得を行います。
(サンプル)
### Index.html
<html>
<head>
</head>
<frameset cols="*,0">
<frame src='main.html' name='main'>
<frame src='hideen.html' name='kakusi'>
</frameset>
<body>
</body>
</html>
### main.html 上で言う a.html
<html>
<head>
</head>
<script type="text/javascript">
<!--
function SendNextHtml()
{
var strMsg;
// 値を取得
strMsg = form_val.word.value;
//隠しフレームに値を入れる
parent.frames["kakusi"].KAKUSI_DATA.data1.value =strMsg;
return 0;
}
// これは、テスト用 上のだと、テストsubmitしないと確認出来ないので
// window.openで代用
function SendNextHtml_TEST()
{
var strMsg;
// 値を取得
strMsg = form_val.word.value;
//隠しフレームに値を入れる
parent.frames["kakusi"].KAKUSI_DATA.data1.value =strMsg;
window.open('b.html','main');
return 0;
}
-->
</script>
</head>
<body>
<input type='button' value='これは、テスト用' onclick='return SendNextHtml_TEST()'>
<form action='xxx.cgi' name = 'form_val' onsubmit='return SendNextHtml()'>
<input type="text" name='word'>
<input type="submit" value="送信する">
</form>
</body>
</html>
### hideen.html ここに値を隠します
<html>
<body>
<form name='KAKUSI_DATA'>
<input type='hidden' name='data1' value=''>
<input type='hidden' name='data2' value=''>
<input type='hidden' name='data3' value=''>
</form>
</body>
</html>
### b.html
<html>
<head>
</head>
<script type="text/javascript">
<!--
// <body onload>しているので、起動時に呼び出されます
function Oninit() {
var iNum;
// 隠しフレームから値の取得
iNum = parent.frames["kakusi"].KAKUSI_DATA.data1.value;
// テキストボックスに表示
textbox.value = iNum;
}
-->
</script>
</head>
<body onload='Oninit()'>
<input type='text' id ='textbox' value=''>
</body>
</html>
お礼
早速上記方法を試した所うまくいきました。有難うございます。 上記のような事が解らず困っていました。感謝致します