• ベストアンサー

入力内容によって表紙させるページを指定するCGIを知りたい

入力内容によって表紙させるページを指定するCGIを知りたい CGI初心者です。 ホームページにて、各数字をフォームに入力して送信すると、それぞれ違ったページに飛ぶCGIを探しています。例えば1と入力して送信ボタンをクリックするとplay.htmlへ飛び、 2と入力するとstudy.htmlへ飛ぶという。 飛ぶ先は4つほどでよいです。 それとFTPサーバに置くのは、入力するホームページと飛んだ先のページのほかに、どんなファイルを置けば良いのでしょうか?? 使っているのはwww.sakura.ne.jpのレンタルサーバーです。 よろしくおねがいします!

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

  • ベストアンサー
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.5

下記のように修正して試行してください。 私の環境では正常動作しました。 <form name="frm_test" onSubmit="trans();return false;">

howareyouh
質問者

お礼

すばらしいです!!! できました!!! 本当にありがとうございます 何度も何度も聞きなおしたのにご丁寧にお答えいただき本当に感謝感謝です!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.4

すいません、ボタンタイプをサブミットに 変更する必要がありました。 下記内容でいかがでしょうか? <form name="frm_test" onSubmit="trans()"> <input type="text" name="NUMBER" size="3"> <input type="submit" value="検索">

howareyouh
質問者

補足

うーーーん・・・・ まだだめです。Enterキーを押すと、リロードするだけです。前までは、ボタンをクリックすれば、ちゃんとジャンプしたのですが、いまはクリックしてもリロードするだけで、ジャンプしなくなってしまいました。 いただいたアドバイス通り以下のように記述しました。コピーペーストしましたのでタイプミスなどではないと思います。 <form name="frm_test" onSubmit="trans()"><br> <input type="text" name="NUMBER" size="3">入力してください<br> <input type="submit" value="検索"> 何度もすみません。よろしくおねがいします

全文を見る
すると、全ての回答が全文表示されます。
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.3

FORMタグにonSubmitイベントを追加し、発生時 ボタンクリック同じJavaScript関数を呼べばいいですよ。 <form name="frm_test" onSubmit="trans()">

howareyouh
質問者

補足

ありがとうございます! でもできませんでした。。 <script language="JavaScript"></script>内は手をつけず、以下のように色々試しましたが、できませんでした。どうしたら良いでしょうか 例1 <form name="frm_test" onSubmit="trans()"> <input type="text" name="NUMBER" size="3"> <input type="button" value="検索" onClick="trans()" onSubmit="trans()"> 例2 <form name="frm_test"> <input type="text" name="NUMBER" size="3"> <input type="button" value="検索" onClick="trans()" onSubmit="trans()"> 例3 <form name="frm_test" onClick="trans()" onSubmit="trans()"> <input type="text" name="NUMBER" size="3"> <input type="button" value="検索" onClick="trans()" onSubmit="trans()">

全文を見る
すると、全ての回答が全文表示されます。
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

エラーページへ遷移するのもやり方は同じです。 html> <head> <script language="JavaScript"> <!-- function trans() { var url = ""; if (document.frm_test.NUMBER.value == "1") { url ="htp:xxxx.xxx.xx.xx/play.html"; } else if (document.frm_test.NUMBER.value == "2") { url ="htp:xxxx.xxx.xx.xx/study.html"; } else { //エラー入力 url ="htp:xxxx.xxx.xx.xx/error.html"; return; } window.location.href = url; } // --> </script> <title></title> </head> <body> <form name="frm_test"> <input type="text" name="NUMBER"> <BR> <input type="button" value="画面遷移" onClick="trans()"> </form> </body> </html>

howareyouh
質問者

補足

ありがとうございます。エラーページへもいけました。(エラーURLの下の return;} は不要でしたので削除しておきました) 贅沢をいって申し訳ないのですが、入力後Enterキーを打つと、入力ページがリロードされるだけです。マウスを使って送信ボタンをクリックしないとジャンプしませんが、回避策がございましたらアドバイスください。

全文を見る
すると、全ての回答が全文表示されます。
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

「ホームページの記述」 画面遷移ボタンをクリック時 テキストボックスの入力値が1の場合・・・play.htmlへ遷移する。 テキストボックスの入力値が2の場合・・・study.htmlへ遷移する。 <html> <head> <script language="JavaScript"> <!-- function trans() { var url = ""; if (document.frm_test.NUMBER.value == "1") { url ="htp:xxxx.xxx.xx.xx/play.html"; } else if (document.frm_test.NUMBER.value == "2") { url ="htp:xxxx.xxx.xx.xx/study.html"; } else { return; } window.location.href = url; } // --> </script> <title></title> </head> <body> <form name="frm_test"> <input type="text" name="NUMBER"> <BR> <input type="button" value="画面遷移" onClick="trans()"> </form> </body> </html> サーバーへアップロードするファイルはホームページ、play.html、study.html の3本です。

howareyouh
質問者

補足

ありがとうございます! ひとつ忘れていました。 無効な数値か文字を入れた場合、error.htmlに飛ぶにはどうしたら良いでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CGIでフォームの項目を入力しないと送信できない!!

    ホームページのフォームCGIでメールの項目を入力しないと送信できないようにしていきたいのですが何か良い方法はありますか? プロバイダーではレンタルCGIでは持っていないということなのですが、どのように作成していけば良いのか分らずに困っています。 お助けをお願いいたします。

  • CGIの引越しが上手くいきません

    さくらレンタルサーバ・ライトの古いホームページから 同じサーバの新しいホームページに メールフォームを移動させました。 ページは表示されるのですが、メールの送受信が出来ない状態です。 同じレンタルサーバなので、変えたのはform.cgiファイルの中の ホームページアドレスのみです。 以下がファイルの一覧です。 cgi-binフォルダの中 (1)cgi-lib (PLファイル) (2)form (CGIファイル) (3)jcode (PLファイル) それ以外のファイル mail.html (送信後に表示するページ) top.html (メールフォームのページ) style.css ホームページアドレス以外に変える部分があるのだと思いますが、 それがどこなのか見当がつきません。 どなたかお分かりになる方がおられましたらご指摘をお願いします。

  • CGIの設置について

    ホームページビルダーを使用して、 会社のホームページを作ったのですが、 CGIを使った送信フォームは、制作会社に依頼しようと思っています。 そこで質問なのですが、制作会社にはどのような情報を伝えればいいでしょうか。 レンタルサーバーのCGIに関する情報が必要になるのではないかと思っていますが、現在まだ借りていません。借りるのはさくらレンタルサーバーです。 依頼をする前に、サーバーを借りておいた方がいいのでしょうか? 送信フォーム自体は、送信後に送信しました、と表示できるだけのシンプルなものでいいのですが、依頼を今までした事がないので、 うまく伝えられるのか心配です。 どうぞお力添えを宜しくお願いします

    • 締切済み
    • CGI
  • フォームに入力されたお客さんのアドレスが前の文字にくっついて困っています

    事業のホームページの管理をしています。 そのホームページに、お客さん用の「フォーム」のページを設けて、問い合わせの内容を入力してもらっています。 ホームページ・フォーム(cgi)は、レンタルサーバに設置していて、問い合わせは、メールで設定通り送信されるのですが、問い合わせ内容の一つのメールアドレスが前の文字「=」(半角)にくっついて一体化してしまいます。 このメールアドレスをクリックすると送信用のウィンドウ(メッセージの作成)が起ち上がり、「宛先」欄にこのメールアドレスが記入されてしまいます。 「フォーム」から送信されてくる内容は、     ・     ・ メールアドレス=○○○@○○○.ne.jp そして、この「=○○○@○○○.ne.jp」がアドレスとして認識されます。 つまり、お客さんは、「○○○@○○○.ne.jp」と入力しているのに、「=」がこのアドレスにくっついて違うアドレスになってしまいます。 この一体化したアドレスは、ばらすこともできず、手間がかかります。 メーラーは、Outlook Express6を使用しています。 また、フォーム送信のcgiは、レンタルサーバが用意しているものを使用し、サーバのサイトから「項目」などの内容を設定しています。 フォームのページは、ホームページビルダーV8で自分で作りました。 「フォーム」からの送信は、 ○○○=メールアドレス という形式が多いと思うのですが、皆さんはどのようにされているのでしょうか? アドレス入力の際、1文字空けてから入力してもらえれば、「=」にくっつくことはありませんが、お客さんにこのような手間をかけてもらうのは恐縮します。 何か良い方法があれば、教えて頂けないでしょうか。

  • ホームページビルダー18でのメールフォーム設置

    ホームページ作成初心者で、ホームページビルダー18を使っています。 レンタルサーバーは、さくらインターネットのスタンダードプランを契約しています。 http://www.sakura.ne.jp/standard.html メールフォームはホームページビルダー18のウイザードで作ったものですが、それへ情報を入力してもメールとして送信できません。 メールソフトは使わずに、ブラウザーから直接メール(問合せ)が送れる様にしたいと考えています。 ネットでいろいろ検索しましたが未だわからず日数が経過するばかりで困り果てています。 「CGIを使えばいい」と見ましたが、レンタルサーバーは「CGI」が使えるようですが詳細はわかりません。 レンタルサーバー標準のメールフォームも試しましたが、それでは自分の作ったデザインが生かされず困っています。 いろいろ調べましたがわかりません。 お手数おかけして申し訳ございませんがご教授ください。 よろしくお願いします。

  • 入力フォームでCGIを使用

    現在、HPを作成しているのですが、 不明な点があるので、教えてください。 入力フォームを作成しており、送信ボタンを押すと CGIサーバを経由し、データが送信され、受信できる はずなのですが、試しに適当に入力し、テストを行った のですが、うまくいきません。 送信を押すと「送信されました」という画面に変わるので 送信までは、うまく出来ていると思うのですが… (1)送信された内容をチェックするにはどうすればよいですか? (2)(1)においてCGIサーバを直接、見に行くとなった場合、  どのようにすれば、見に行くことができますか? CGIの仕組み自体あまり理解していないので、 できるだけわかりやすくお願いします。 長くなりましたが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • 「入力フォーム」に入力した情報が、指定したメルアドに送信されるようにしたい

    ホームページを作っている初心者です。 CGI について質問です。よろしくお願いいたします。 ホームページに設置した「入力フォーム」に お客様が入力した情報が、指定したメルアドに 送信されるようにしたいのですが どうすればよいのかわかりません。 現状は プロバイダにある Free CGI フォームメール をインストールしました。 その後、どうすればよいのかわかりません。 インストールした後に表示される以下の文章 の意味もわかりません。 「ホームディレクトリの /cgi_data/FormMail/ に サンプルをコピーしています。」 どうすれば ホームページに設置した「入力フォーム」に お客様が入力した情報が、指定したメルアドに 送信されるようになりますでしょうか? どなたかご存じの方いらっしゃいましたら どうかよろしくお願いいたします。

  • タグ CGI

    ホームページ上の情報入力フォームで <input type="submit" value="送信する" /> で送信ボタンを押すと入力内容の確認ページに飛ぶのですが 最初の入力ページが縦幅が大きいせいで次の画面がページ上部に 表示されているが画面は下部を表示しているため真っ白になって しまいます。送信ボタンを押した後次のページで上部を表示させる 方法はありますか? 最初の入力フォームはページがありその中央にIフレームで表示させています、フォームはCGIにて動作します。

    • 締切済み
    • CGI
  • Dreamweaverメールフォーム作る際のCGIスクリプト書き換えについて

    MX2004でメールフォーム入りのWebページを作っていますが、フォームを作り終えて、配布されているメールフォーム用CGIスクリプトを書き換えるところで行き詰ってしまっています!name="submit"の送信ボタンを押したら、各入力項目を単純にメール送信してくれて、「送信完了」ページを表示させるだけで十分なのですが、配布されているスクリプトプログラムのどこを削除したり書き換えればいいのかが理解できません。レンタルサーバーはロリポップを使用しています。どなた様かアドバイスをお願いします!!

    • 締切済み
    • CGI
  • CGIのメールフォームを、ウェブページ内に設置する方法が解りません。

    はじめまして。 CGIのメールフォームを、ウェブページ内に設置したいと思っております。 https://www.calbee.co.jp/soudanshitsu/otoiawase/ こちらのページのように、ウェブページの中にメールフォームを埋め込みたいのですが、 全く方法がわかりません。 個人サイトでも、このようにCGIのメールフォームを、 ウェブページ内に設置しているのを見かけますが、 どのようにすればよいでしょうか。 また、ウェブページ内に埋め込めるCGIのメールフォーム、埋め込めないメールフォームは あるのでしょうか。 作成ソフトはホームページビルダー、サーバはCGI設置可です。 宜しくお願い致します。

このQ&Aのポイント
  • 自転車と車の接触事故による自転車の損害について、賠償の交渉を行っています。
  • 自転車の損害は相手方の主張と異なり、保険会社が補償できる範囲を超えた代金を要求しています。
  • 相手方は人身事故に切り替えることをほのめかしており、交渉は困難を極めています。
回答を見る

専門家に質問してみよう