• ベストアンサー

値だけ送信してページは遷移させないためには?

CGIの掲示板のCGI管理者ページの仕様を変更したいのですが(投稿した内容をまず確認し、実際ページに反映させる「許可」「不許可」を決定し、許可されたコメントに返信をつけるページです)、「許可」「不許可」を設定した際、その対象のスレッドの位置から遷移しないようにしたいのですが、フォームのactionで設定したページにリロードされてしまい、「許可「不許可」を編集した位置と違う位置になるので使いづらく困っています。actionで設定したCGIに値だけ送信して、現在編集している位置から移動させず「許可」「不許可」の反映を確認できるようにしたいのですが、そのような設定のためにはどのようなスクリプトがひつようなのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.3

 えーと。  </BODY> タグの直前に、 <iframe name="f1" width=0 height=0 style="visibility:hidden"></iframe>  というタグを置きます。  で次に、当該の <FORM> タグのオプションの1つとして、target="f1" と追加します。  具体的にいうとこんな感じ。 <FORM ACTION="...." TARGET="f1">  どうでしょ?

yuriwolf
質問者

お礼

すごい!できました! ありがとうございます!! 実際に反映させるにはリロードを押す必要がありますが(「不許可」を選ぶとそのボタンが「許可」というボタンに書き換わるようになっているので)、何の移動もなくできました。 これはどういった意味のものなのですか?

その他の回答 (2)

回答No.2

すみません、なにをなさりたいのかがいまひとつわかりません・・・。 CGIは配布されているものですか? またはyuriwolfさんがお作りになられたものですか? 現状では許可・不許可を決定するボタンかなにかが対象スレッドの近くにあるということでしょうか・・・? とりあえず、決定ボタンのFORMのターゲットに「_blank」を指定すれば、新しい画面において画面遷移して元画面はそのままにすることは出来ますが・・・。 プログラム的に行うのであれば、許可処理が終わってからスレッド画面に飛ばすか、スレッドを表示するサブルーチン等に移行させるなりをすれば十分に可能だとは思いますが。

yuriwolf
質問者

お礼

本当に説明がわかりづらくてすみません!! CGIは基本的に配布されたものです。先任者が設置したものですが、仕様に関してより使いやすくするためテコ入れをしているところなのです。 対象スレッドという言い方が悪いのかと思うのですが、管理者CGIの中にある投稿一覧のことです。 掲示板への全投稿データが並んでおり、各投稿内容に投稿「許可」「不許可」を決定するボタンが1つづつ配置されております。 そして、管理者CGIは20投稿ごとにページを分けるように設定されていて(CGI内ですので、実際に複数ページが存在するわけではないのですが)、困っているのは、1ページ目の20件の投稿より前の投稿=2ページ目以降にある投稿で「許可」or「不許可」のボタンを押すと、CGIごとリロードされてしまい、1ページ目(実際にアドレスでCGIファイルを表示した際出てくるページ)に戻ってしまいます。 そうすると2ページ目以降の「許可」「不許可」を決定した部位を即時確認したり、その投稿前後の投稿に「許可」「不許可」を決定しようとするのに面倒があるというわけです。 私がこの管理者でしたらそこまで気にはならないのですが、他者にやっていただいていますので。。 CGI初心者には無理があるとは思うのですが、シンプルに解決できる手段があれば・・・とご相談した次第です。

noname#25358
noname#25358
回答No.1

 不可視の <IFRAME> を作って、そのフレームをターゲットに指定する方法は駄目ですか?

yuriwolf
質問者

お礼

申し訳ありません!ほとんど初心者なもので、カスタマイズレベルなのですが、ご回答の内容が今ひとつ分かりません。 私の質問内容が分かりにくいせいではございますが、もう少しご案内いただけないでしょうか。 近いイメージとしましては、アンケートフォームなどで、1問目などで県名を選択すると、選択した直後、その直下に選択した県内の地名が現れる…と言う様な、即時的な反映が実践できればと思っております。 ただ、もしかするとその方法は一瞬で別ページに飛ばしているのかなぁとも思うのですが。 説明不足で申し訳ございません!!

関連するQ&A