NetscapeのHIDDENの動作について

[上に] [前に] [次に]
ごんた 1999/10/23(土) 14:58:54
Netscape CommunicatorのHIDDENフォームフィールドの動作について
質問があります。

JavaScriptを用いて、HIDDENタイプのフィールドの内容を変更する
ようなページを作成しています。IE 4.01では問題なく動作している
のですが、NetscapeではHIDDENのフィールドの挙動が変な所があり、
困っています。

具体的には、次の二点です。
1.リセット(<INPUT TYPE=reset>)を実行すると、HIDDENの
    フィールドだけリセットされない。
2.フォームの実行結果のページからブラウザの「戻る」ボタン
    でフォームのあるページに戻ると、HIDDENのフィールドの
    値だけリセットされている。

1.の問題はonResetを使って自前でリセットするJavaScriptを
作成し対処しましたが、2.は対処方法が分りません。

現象はNN4.51,NN4.7で確認しています。これがNetscapeの仕様
なのでしょうか?
対策をご存知の方がおりましたら、お教え下さい。
よろしくお願いします。

実際のページをお見せする事が出来ないので、簡単なテストページ
を作成してみました。
<HTML>
<BODY>
<SCRIPT Language="JavaScript">
function bbbset() {
  document.forms[0].A.value = "BBB";
}
</SCRIPT>
<H1>Reset TEST</H1>
Aの初期値:AAA<BR>
<FORM METHOD=GET ACTION="http://www.netscape.com/">
<INPUT TYPE=submit VALUE="Go!"><BR>
<INPUT TYPE=reset VALUE="リセット"><BR>
<INPUT TYPE=HIDDEN NAME=A VALUE="AAA">
<INPUT TYPE=BUTTON onClick="bbbset();" VALUE="AにBBBを代入する">
<INPUT TYPE=BUTTON onClick="alert(document.forms[0].A.value);" VALUE="Aを見る">
</FORM>
</BODY>
</HTML>

寮長 1999/10/26(火) 16:52:07
テストを実際に動かしてみました。
BBBを代入してGOを押して、戻るで帰ってくると、たしかに
HIDDENの値がAAAにリセットされていますが、
どんな対処をしたいのですか?
「HIDDEN以外もリセットしたい」ですか?
「リセットしたくない」ですか?
それとも「オラオラ」ですか?(yes!yes!yes!)

ごんた 1999/11/02(火) 12:02:43
すみません。返事が遅くなってしまいました。

HIDDENの値もリセットされないようにしたいのです。
もし、それが駄目なら全部リセットしてしまいたいです。

何か良い方法はないでしょうか。

寮長 1999/11/02(火) 13:07:25
あまり自信がないのですが
戻るを押して戻ったとき、最初からJAVAスクリプトを呼んで実行
されてしまうからではないでしょうか。
(BBBを代入しても、最初から読まれるのでAAAが入る)
変数だけ格納する簡単なCGIを作ってみてはどうでしょう。

JAVAスクリプトだけでやるなら、別のHPに行ったりするときに
もう一個別のウィンドウをつくるとか。

ところで「ごんた」さん
昔「サイババごんた」というハンドルネーム使ってませんでした?
(人違いだったらごめんなさい)

のぐ 1999/11/02(火) 13:50:57
ページの構成を変えてもよいのなら、フレーム構成にして、保存したい
変数は親フレームでグローバル変数のように扱うか、見えない子フレー
ムを作って、そこに書き出しておく。あるいは、そこまでやらなくても
という気もしますが、見えない layer を作って、そこに hidden では
なく text のエレメントを置いて、書き出しておく(これは自信なし)。

ごんた 1999/11/02(火) 14:29:48
色々と情報ありがとうございます。

フレームを使うと、なんとかなりそうですね。しかし、
大幅に改造しないと行けないので、時間的に対応できない
ので、今回は見送ります。

また、別のウィンドウを開くというのも簡単に解決できる手
ですが、クライアントとして、800x600のノートパソコンを
ターゲットにしているので、できれば一枚のウィンドウで
済ませたいです。

寮長さん、のぐさん、本当にありがとうございます。
取りあえず、今回は警告等をだして対応する事にしようと思い
ます。

引き続き情報を待っていますが、これ以上の方法がなさそう
なら、適当な所で「解決」をチェックします。

P.S.
残念ながら、「サイババだんご」さんとは別人です。
「ごんた」は質問を出す前に思い付きで付けた名前です。

[上に] [前に] [次に]