• ベストアンサー

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

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

  • CGI
  • 回答数3
  • ありがとう数6

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

  • ベストアンサー
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

  • ブラウザの「戻る」ページ遷移でリロード

    既に同種の質問がありましたが、解決されなかったようなので質問させて下さい http://okwave.jp/qa/q6381146.html ページ内に埋め込んだURL(iframeで埋め込み)の参照先が時系列で変化する為、ページ遷移等をして戻った場合にはリロードさせたいのですが、過去の質問のようにIEであれば <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> で難なくクリア出来たのですが、他ブラウザ(Firefox・Safai・Google Chrome)ではリロードされません。 公に公表されるページなので、せめて上記の3ブラウザではブラウザの「戻る」「進む」でのページ遷移時にリロードさせたいと考えています。 ちなみに、iframeに特別拘りは無いので「他の方法で埋め込めば・・・」等ありましたらお教え頂けたら幸いです。 宜しくお願い致します。

  • PHP処理実行後のページの遷移について

    現在、新規情報登録画面の作成を行っています。 PHPで、データベースにインサート処理後、成功したら他のページへ遷移するという処理を行いたいのですが、PHP側の処理が実行されるとページの遷移が行われず、action='遷移ページ指定'したらインサートが実行されません。 JavascriptとPHPともにまだ学習し始めたばかりの初心者で、わかりにくい質問ですが回答のほうよろしくお願いします。 <処理の流れ> 入力 ↓ 登録ボタン押す ↓ チェック ↓ チェック成功時→ページ遷移 チェック不成功時→ページ遷移なし <html> <head><title>新規登録</title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.2");</script> </head> <body> <form method="post" action="form_ad_shinki_touroku2.php" name="formA" onsubmit="return AllCheck()"> <script type="text/javascript"> 動的入力フォーム追加機能、チェック機能など </script> <?php SQLの処理など ?> <input type="submit" name="tuika" value=" 登 録 "> <input type="button" onclick="addInput()" value="フォーム追加" /> <input type="button" name="back" value=" 戻 る " onClick="location.href='javascript:history.back();'"> </form> <body> <html>

  • ページを遷移せずにデータ送信

    はじめまして。こちらのカテゴリに質問投稿するのは初めてです。 投稿カテゴリが適切かどうかさえも不明ですが、お知恵を拝借したく投稿させて頂きます。 表題の通りですが、SNSなどに多く使われている、コメントを投稿する際、ページを遷移することなくフォームのデータを送信し、そのデータをMySQLに登録するとった流れを考えています。 http://shun-ichiro.com/log/reminder/php-jquery-ajax-mysql/ 上記サイトは、フォーム上のデータではなく、ボタンを押した際に決まったデータをDB内に登録する者ですが、データ処理という意味での流れは理想に近く、上記サイトでサンプルとして配布されているものをテストしているのですが、このページ上にテキストフォームなどを加えた場合の処理が、お恥ずかしながら一向に見えてこないのが現状です。 上記ページを例にした場合、テキストフォームを設置し、そのデータをDBに登録するための、post.js はどのようなスクリプトとなるのでしょうか? PHPはこれまで触ってきましたが、Ajax?Javascript?を触るのは初めてといっていい程で、色々と調べながら今日まで来ましたが、適切なキーワードさえも不明で、欲する情報になかなか辿り受けない状況です。(もうかれこれ1週間以上思考錯誤しています・・汗) お忙しいなか恐縮ですが、アドバイスのほど宜しくお願い致します。

    • ベストアンサー
    • AJAX
  • 非SSLページからSSLページへの遷移時の暗号化

    SSLについて人によって意見がまちまちな問題が 浮上しており、困っております。 ぜひお詳しい方のお知恵をお借りできたらと思い投稿させていただきました。 非SSLページ(入力フォーム)→SSLページ(確認ページ) という単純な遷移です。 非SSLページは静的なhtmlファイルで 個人情報を入れてpostでsubmitするフォームになっています。 このとき、私の認識では、個人情報は暗号化されると 思っていました。 しかし、入力フォームもSSLページでなければ暗号化 されないという意見とそうでない意見が交錯しています。 遷移先がSSLであれば、証明書等チェックが入って 最終的にフォームの値含め、通信データは暗号化されて送信 されると思っていますが間違っているでしょうか? ちなみに個人情報を入れるページは心理的にはhttps であったほうがいいということは間違い無いと思います。 技術的な見地でお願いします。 よろしくお願いしますm(_ _)m

  • 送信フォームの確認ページ

    会社で課のHP作っていまして、独学でやっています。 cgiを使わないで、(というかわからないので) mailtoでフォームを送信する様にページを作りました。 そのフォームが送られたという確認のページを送信ボタンを 押した後に表示をさせたいのですが、 やはりcgiを使わないと出来ないのでしょうか?

    • ベストアンサー
    • CGI
  • ホームページビルダーでホームページを作っています。お問い合わせページの送信が機能しません。助けてください!

    ホームページビルダーV9にてHPを作成しました。ジオシティーズでジオプラスを契約しているものです。 ビルダーのフォームを使ってお問い合わせページを作りましたが、フォームの属性に何を入れたらいいのか、ジオシティーズヘルプを見ても分かりません。 ジオプラスに入るとCGIが使えるとあったのですが、何か設定に足りないのでしょうか? 私はHP作成ほぼ初心者です。ビルダーのスタンダードでページ作成をし、フォームにいろいろな入力部品を入れてページを作成しました。このままではCGIプログラムになっていないんですよね。(よく分からないのですが) CGIプログラムとしてサイトに転送するには、属性のフォーム欄にジオシティーズの指定するものを入れるだけで、いいのでしょうか? 属性の『アクション』『メソッド』など何を入れたらいいのか教えてほしいのです。 お願いします。

  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • CGIのボタンの処理について

    CGIのフォームにチェックボックスがあってボタンを押すとある処理をさせたいのですが、 <form action="○○.cgi" method="post"> を使って新たなCGIを呼び出さずにフォームのCGIで処理をし、結果を反映させたいのです。もし方法をご存知の方がいましたら教えて欲しいのでよろしくお願いします。 <-------cgiソースの一部----------> print "<input type=\"checkbox\" name=\"re_$n\" value=\"$userdata[$i]\">"; print "<input type=\"button\" value=\"処理\">"; ボタンを押した時に処理をしてすぐさまリロードして同じページに結果を反映させたい!

    • ベストアンサー
    • CGI
  • ページを更新できないようにするには

     Rubyで掲示板システムを作成しています。  CGIでフォームで書き込みをした後に表示されたページで,ページの再読込をすると,再び書き込まれた風になってしまいます。CGIの処理の方法は, Web上:  掲示板のフォーム内のhiddenフォームでCGIのcase文で書き込みを行うプログラムへ移行するように値を設定してある。送信ボタンを押すと,CGIを呼び出し,   ↓ CGI上:  hiddenの値から,書き込みのプログラムであるとcase文で分岐させ,受け取ったフォームの値を書き込む。書き込んだ後,そのプログラムから掲示板を表示するプログラムを呼び出し,printでHTMLソースを渡す。   ↓ Web上:  掲示板が表示される。 (CGIのプログラムは書き込みも表示も同じファイルで行い,その動作はhiddenフォーム内のmodeの値で分岐してある) のような流れになっています。printで表示されているので,ブラウザのurlに,書き込みの動作を行うhiddenフォームの値その他の入力されたデータが残っているからだと思います。  そこで,ブラウザの方から更新(できれば戻る,進むも)を使えないようにできないでしょうか。  ご教授お願いいたします。 (ちなみにCGIのプログラムの方で再読込をしても書き込まれないようにできるのでしょうか)

  • jQuery Mobileでのページ遷移、挙動

    jQuery Mobileを使ってスマートフォン用のサイトを作成しています。 ページ遷移時の挙動が直せなくて困っています。 1つのHTML内に複数のページを作るやり方ではなくて、 リンクには rel='external' フォームには data-ajax='false' をつけて、 Ajaxでのページ遷移を行わないようにしているつもりです。 で、おかしな挙動なのですが、 1.AのページからリンクをクリックしてBのページを表示する。 2.ブラウザの戻る機能でAのページに戻る 3.再びリンクをクリックしてBのページを表示する。 このとき、Bのページが表示された後、「Loading」というメッセージが表示され、 Aのページを表示してしまいます。(AのページをAjaxで読み込んでいるか、 Bのページが何らかで非表示になっているように思えます) $.mobile.ajaxLinksEnabled = false; という設定も試してみたのですが、 特に変化はありませんでした。 この解決策を教えてください。 出来れば、jQuery Mobileのデザイン関連だけ使って、ページ遷移絡みは 使いたくないという気持ちです。