人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTMLでフォームのプルダウンメニューを使って選択したメニューから別のURLにジャンプする方法を教えてください。一応自分でも以下の様に試してみたのですが、何回ページ2に行こうとしてもページ1に行ってしまいます。どうしたらそれぞれのページに行けるでしょうか。勝手ながらjavaを使わずにお願いします。<P><form action=”http://〜page1.html” method=POST><form action=”http://〜page2.html” method=POST><select name=page><option value=”1”>ページ1</option><option value=”2”>ページ2</option></select><input type=submit value=”ページ移動”></form>

●質問者: akebon
●カテゴリ:ウェブ制作
✍キーワード:HTML Java URL ジャンプ 勝手
○ 状態 :終了
└ 回答数 : 12/12件

▽最新の回答へ

1 ● いのくに
●0ポイント

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/

About the HTML 4.01 specification Japanese translation

JavaScript を用いなければ、難しいと思います。

CGI 等が使えるのであれば、

「page」の名前で受けた値 1 or 2 に応じて、

Location ヘッダなどを用いて、

目的のページへジャンプさせることも可能かと思いますが・・・。

◎質問者からの返答

すいませんがそんな技術ありません。

よく他の人のHPを見ているとトップページからプルダウンメニューで複数の選択肢の中から選んで他のURLへジャンプするような感じのものを作りたいのです。

上の構文でフォーム自体は作ることはできるんですが、ジャンプができないので以下の構文が間違っていると思うのです。

この文を選択肢の分だけ作る作ると思うのですがどのHTML講座のサイトをみてもこの文は1つしか書いてないのでどうしていいのか分からないのです。


2 ● kazzy
●0ポイント

根本的にformの使い方が間違っています。

まず、HTMLファイルにPOSTメソッドは使えません。通常はエラーとなります。

formではactionに一つのURLを指定します。2つ並べるのは好ましくありません。この場合閉じ忘れとなります。

JavaScriptを使わないのであればCGIを使う必要があります。CGI内部で渡された値が1か2かを判断して何らかの方法でブラウザにデータを返します。

CGIが使えない環境であればJavaを利用するしかありませんが、この場合普通にリンクを貼った方が使いやすいと思います。

◎質問者からの返答

そのCGIは配布していますか?

それとも自作できるような簡単なものなのでしょうか…


3 ● mady
●0ポイント

まず「Javaを使わずに」と書いてありますがこれは

「JavaScript」のことでしょうか?

JavaとJavaScriptは根本的にまったく異なりますが、

おそらくJavaScriptのことだと思うのでそれを前提に書きます。

結論から言うと、JavaScriptを使用せずにあなたの希望する動きを実現することは不可能です。

そもそもformタグの入れ子はhtml記述仕様上禁止されています。入れ子にした場合、1つ目のformを使うか2つ目のformを使うか、それともまったく認識しなくなるかは保証されません。

またselectの値はhttpのリクエストの引数として

page=1という文字列が送信されるだけで、それを解釈する仕組みを作らない以上無意味です。で、それにはサーバーサイドプログラミングが必要になります。

form1つでリクエストの送信先を変えるには、action値を変化させる必要がありますが、JavaScriptを使用せずに実現することはことは不可能です

submit時に、JavaScriptを使用してaction値を変化させるか、

サーバーサイドプログラミングをするかどちらかにしたほうがいいでしょう。

◎質問者からの返答

そうですか…


4 ● nao-t
●0ポイント

http://www.openspc2.org/JavaScript/

一撃必殺JavaScript日本語リファレンス

一つのページにFORMを用いる場合は、FORMに名前をつける必要があります。

例)<form name=”f1” action=”***” method=”post”>***

</form>

または、JavaScriptを用いて制御するのも一つの方法です。

◎質問者からの返答

すいません。よくわかりません…

今回のHTMLの解決法となるのでしょうか?


5 ● tsuntsun
●0ポイント

javaを使わないとダメかと思います

javaが使いたくないんですか?それともわからないからですか?

簡単なサンプルを書いておきます

<script language=”JavaScript”>

function MM_jumpMenu(targ,selObj,restore){ //v3.0

eval(targ+”.location=’”+selObj.options[selObj.selectedIndex].value+”’”);

if (restore) selObj.selectedIndex=0;

}

</script>

<form name=”form1” method=”post” action=””>

<select name=”select” onChange=”MM_jumpMenu(’parent’,this,0)”>

<option value=”

http://www1

〜”>page1</option>

<option value=”

http://www2

〜”>page2</option>

<option value=”

http://www3

〜”>page3</option>

</select>

</form>

簡単に書きましたので、あとはそれぞれ調べてみてください


1-5件表示/12件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●


0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ