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 ヘッダなどを用いて、
目的のページへジャンプさせることも可能かと思いますが・・・。
根本的にformの使い方が間違っています。
まず、HTMLファイルにPOSTメソッドは使えません。通常はエラーとなります。
formではactionに一つのURLを指定します。2つ並べるのは好ましくありません。この場合閉じ忘れとなります。
JavaScriptを使わないのであればCGIを使う必要があります。CGI内部で渡された値が1か2かを判断して何らかの方法でブラウザにデータを返します。
CGIが使えない環境であればJavaを利用するしかありませんが、この場合普通にリンクを貼った方が使いやすいと思います。
そのCGIは配布していますか?
それとも自作できるような簡単なものなのでしょうか…
まず「Javaを使わずに」と書いてありますがこれは
「JavaScript」のことでしょうか?
JavaとJavaScriptは根本的にまったく異なりますが、
おそらくJavaScriptのことだと思うのでそれを前提に書きます。
結論から言うと、JavaScriptを使用せずにあなたの希望する動きを実現することは不可能です。
そもそもformタグの入れ子はhtml記述仕様上禁止されています。入れ子にした場合、1つ目のformを使うか2つ目のformを使うか、それともまったく認識しなくなるかは保証されません。
またselectの値はhttpのリクエストの引数として
page=1という文字列が送信されるだけで、それを解釈する仕組みを作らない以上無意味です。で、それにはサーバーサイドプログラミングが必要になります。
form1つでリクエストの送信先を変えるには、action値を変化させる必要がありますが、JavaScriptを使用せずに実現することはことは不可能です
submit時に、JavaScriptを使用してaction値を変化させるか、
サーバーサイドプログラミングをするかどちらかにしたほうがいいでしょう。
そうですか…
http://www.openspc2.org/JavaScript/
一撃必殺JavaScript日本語リファレンス
一つのページにFORMを用いる場合は、FORMに名前をつける必要があります。
例)<form name=”f1” action=”***” method=”post”>***
</form>
または、JavaScriptを用いて制御するのも一つの方法です。
すいません。よくわかりません…
今回のHTMLの解決法となるのでしょうか?
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=”
〜”>page1</option>
<option value=”
〜”>page2</option>
<option value=”
〜”>page3</option>
</select>
</form>
簡単に書きましたので、あとはそれぞれ調べてみてください
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms...
Forms in HTML documents (ja)
失礼ながらよこやりを入れさせていただきます。
単にformを使用する場合、name属性は不要です。
nameをつけても挙動は一切変化しないため解決に至る事はありえません。
name属性はスタイルシートやスクリプトから参照するためにつけます。JavaScriptもスタイルシートも特に使わないのであれば必要ありません。
提示されたHTMLがまったくもって理解できないんですが。
JavaScriptを使わないのであれば、inokuniさんの言うCGIスクリプトを鳩丸さんが配布しています。(1つ目?のURL)
使い方の例については2つ目?のURLを見てください。ソースを見ればわかります。
http://www.ne.jp/asahi/minazuki/bakera/html/opinion/zannen1
鳩丸ご意見番 - 残念な思いを致しました(1) - 謎のSELECT要素には残念な思いを致しました。
ありがとうございます。
HTMLだけでは無理かと思います。
URLにJAVASCRIPTを使った例がそのまま載っていますのでそれをコピペして使ってみるのはどうですか?
そうですね。
JAVASCRIPTの勉強のお奨めのサイト教えてください。
http://www.zdnet.co.jp/help/tips/html/h0045.html
競争力向上にITを活用するすべての企業へ - ZDNet Japan
うーん、やはりJavaScriptを使わなければ無理なような気がします。
このサイトで紹介されているのが一番単純な方法なので、試してみてはいかがでしょうか。
JavaScriptを勉強します。
いいサイトがあれば教えてください。
http://d.hatena.ne.jp/shinchan/20030607
2003-06-07 - shinchanの日記
勉強がてら自分でCGIスクリプトを書いてみました。
CGIの設置のしかたは「とほほのCGI入門」を見ましょう。
少し勉強すればどこをいじればいいかわかると思います。
ありがとうございます。
参考にします。
mady さんの仰るとおり、JavaScript か CGI を使わずに希望の動作をさせることは不可能です。
JavaScript を使うとしたら、以下のようになります。
<form name=”jumpform”>
<select name=”jumpmenu”>
<option value=”http://〜page1.html”>ページ1</option>
<option value=”http://〜page2.html”>ページ2</option>
</select>
<input type=”button” value=”移動” onclick=”location.href=document.jumpForm.jumpMenu.options[document.jumpform.jumpmenu.selectedIndex].value”>
</form>
ありがとうございます。
あとJavaScriptの学べるよいサイトがあれば教えてください。
http://www.hatena.ne.jp/1054958611#
HTMLでフォームのプルダウンメニューを使って選択したメニューから別のURLにジャンプする方法を教えてください。一応自分でも以下の様に試してみたのですが、何回ページ2.. - 人力検索はてな
URLはダミーです。
わかりましたか?
わかりました。
ありがとうございます。
すいませんがそんな技術ありません。
よく他の人のHPを見ているとトップページからプルダウンメニューで複数の選択肢の中から選んで他のURLへジャンプするような感じのものを作りたいのです。
上の構文でフォーム自体は作ることはできるんですが、ジャンプができないので以下の構文が間違っていると思うのです。