dポイントプレゼントキャンペーン実施中!

現状1ページを「FRAMESET」にて上下2分割しているのですが、CGI終了後上段のフレーム部のみ更新したいです(index.html)。

[処理概要]
上段処理(UP.cgi)
・AA.txtから読み込んだ値をセレクトメニューに反映(cgiにて自動処理)
・セレクトメニューから値(1)を選択(ブラウザより手動)
・テキストボックスに値(2)を入力(ブラウザより手動)
・実行ボタンを押す(LOW.cgiへ)

下段処理(LOW.cgi)
・上段で選択された値(1)を値(2)に変更してAA.txtに反映
・変更内容を下段部に表示

というような処理に
※LOW.cgi実行後、上段部を更新(UP.cgi実行)
というようなことを盛り込みたいです。
そうすることによってLOW.cgiの処理ごに上段セレクトメニューは変更された結果が読み込まれるという寸法です。
(このような説明で理解いただけるでしょうか?)

プログラム自体はCGI/Perlですが、
処理内容的にはHTMLかと思いこちらに質問させていただきました。
詳しい方いらっしゃいましたら、ご教授ください。

サーバー・・・HP-UX
開発言語・・・Perl5
開発端末・・・windows2000(Tera Term 使用)

以上、よろしくお願いいたします。

A 回答 (3件)

こんにちは。



すいません、私の言い方もわかりにくく。

通常、同じターゲットに投げて、もう一度表示すれば
ファイルを読み直して内容が変更されるのですが、
フレームわけして下のターゲットになげてしまっているので
そのフォームが表示されている部分は変更できないということを
言いたかったのです。
多分、考えている動作は同じです。

LOW.cgiの変更内容を表示した時に

<html>
<head>
<title>結果</title>
<script type="text/javascript">
<!--
function init () {
window.top.フレーム名称.location.reload(true);
}

//-->
</script>
</head>
<body onLoad="init();">
</body>
</html>


テストしていないのであれですが、こんな感じで書くと
処理を終わってページを表示した際に、initが呼ばれ、
指定した部分の更新を行います。

試してみてください。
    • good
    • 0
この回答へのお礼

上記を参考にしたところできました。
本当にありがとうございました。。。

お礼日時:2005/11/29 12:43

ボケた回答になるかもしれませんが、ちょっと疑問に思ったので念の為・・・。




フレームごと( target="_top")で LOW.cgi を呼び出すのではダメなのでしょうか???

詳しく言えば、 LOW01.cgi で AA.txt へ反映まで行い吐き出すのはフレームの枠側のファイルとする。
あとは自然とフレームの上段と下段で初期表示と似た結果となると・・・。もし表示させたいデータファイルが本来の初期表示とは違うのなら、別にプログラム(CGI)を用意すれば良いだけ・・・。処理の流れは初期表示と同じなので作成も容易・・・。


LOW.cgi や UP.cgi が他でも使用していていじれないというのなら、共有化して呼び出す形にすればメンテナンスもなんの問題もありませんが・・・。
プログラムとHTML等の係わりなら、プログラム(CGI/Perl)をさわる事を考えた方が楽では???


尚、CGIは触れられずHTMLは触れられるからHTML側で対処したいとなると、HTMLを吐き出すのがCGIという事でそもそも矛盾しますが・・・。


あと、外に処理を投げていますが、排他や二重送信対策はいかがでしょうか???
(完全にオンラインプログラム開発時の注意事項に気を配らなければいけない程、面倒な状態になっていますが・・・。)
    • good
    • 0
この回答へのお礼

少し観点が違うようですが
ご回答ありがとうございます。

一応無事に処理が行えるようになりましたので。。。

ちなみに
> あと、外に処理を投げていますが、排他や二重送信対策はいかがでしょうか???
こちらは大丈夫です。
アドバイスありがとうございました。

お礼日時:2005/11/29 12:46

こんにちは。



上部からのリクエストを下部のスクリプトに投げてしまっているため、内容がかわらないので
上も更新したいってことでしょうか。

手っ取り早いのは、下部にリクエストを投げ、処理後にJavaScriptで
上部フレーム部分をリロードするようにしてみてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

> 内容がかわらないので上も更新したいってことでしょうか。
少し違いますね。文章で説明するのが非常に難しいのですが、
実行ボタンを押してCGIでAA.TXT(セレクトメニューの項目)を変更させているにもかかわらず、
上段フレームのセレクトメニューの内容は更新前のままなので連続して処理を行うことができない
ということです。

> 上部フレーム部分をリロードするようにしてみてはいかがでしょうか。
そのやり方(記述例など)を教えていただけますか?
もしくはそういうサイトをご紹介いただけないでしょうか?

以上、よろしくお願いいたします。

お礼日時:2005/11/28 17:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!