- ベストアンサー
入力内容によって表紙させるページを指定するCGIを知りたい
入力内容によって表紙させるページを指定するCGIを知りたい CGI初心者です。 ホームページにて、各数字をフォームに入力して送信すると、それぞれ違ったページに飛ぶCGIを探しています。例えば1と入力して送信ボタンをクリックするとplay.htmlへ飛び、 2と入力するとstudy.htmlへ飛ぶという。 飛ぶ先は4つほどでよいです。 それとFTPサーバに置くのは、入力するホームページと飛んだ先のページのほかに、どんなファイルを置けば良いのでしょうか?? 使っているのはwww.sakura.ne.jpのレンタルサーバーです。 よろしくおねがいします!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
下記のように修正して試行してください。 私の環境では正常動作しました。 <form name="frm_test" onSubmit="trans();return false;">
その他の回答 (4)
- Hardking
- ベストアンサー率45% (73/160)
すいません、ボタンタイプをサブミットに 変更する必要がありました。 下記内容でいかがでしょうか? <form name="frm_test" onSubmit="trans()"> <input type="text" name="NUMBER" size="3"> <input type="submit" value="検索">
補足
うーーーん・・・・ まだだめです。Enterキーを押すと、リロードするだけです。前までは、ボタンをクリックすれば、ちゃんとジャンプしたのですが、いまはクリックしてもリロードするだけで、ジャンプしなくなってしまいました。 いただいたアドバイス通り以下のように記述しました。コピーペーストしましたのでタイプミスなどではないと思います。 <form name="frm_test" onSubmit="trans()"><br> <input type="text" name="NUMBER" size="3">入力してください<br> <input type="submit" value="検索"> 何度もすみません。よろしくおねがいします
- Hardking
- ベストアンサー率45% (73/160)
FORMタグにonSubmitイベントを追加し、発生時 ボタンクリック同じJavaScript関数を呼べばいいですよ。 <form name="frm_test" onSubmit="trans()">
補足
ありがとうございます! でもできませんでした。。 <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)
エラーページへ遷移するのもやり方は同じです。 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>
補足
ありがとうございます。エラーページへもいけました。(エラーURLの下の return;} は不要でしたので削除しておきました) 贅沢をいって申し訳ないのですが、入力後Enterキーを打つと、入力ページがリロードされるだけです。マウスを使って送信ボタンをクリックしないとジャンプしませんが、回避策がございましたらアドバイスください。
- Hardking
- ベストアンサー率45% (73/160)
「ホームページの記述」 画面遷移ボタンをクリック時 テキストボックスの入力値が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本です。
補足
ありがとうございます! ひとつ忘れていました。 無効な数値か文字を入れた場合、error.htmlに飛ぶにはどうしたら良いでしょうか?
お礼
すばらしいです!!! できました!!! 本当にありがとうございます 何度も何度も聞きなおしたのにご丁寧にお答えいただき本当に感謝感謝です!