プロが教える店舗&オフィスのセキュリティ対策術

formで選んだ箇所に単純にaタグで飛ばす方法はあるでしょうか。

<form method="??" action="">
<select name="abc">
<option value="aa"><a href="aa">aa</a></option>
<option value="bb"><a href="bb">bb</a></option>
<option value="cc"><a href="cc">cc</a></option>
<option value="dd"><a href="dd">dd</a></option>
<option value="ee"><a href="ee">ee</a></option>
</select>
<input type="submit" value="そこに飛ぶ">
</form>

submitを押すとそこのaタグに飛ばすようにしたいのですが。

html初心者で困っております。

よろしくお願いします。

A 回答 (2件)

HTMLでは無理です。

<option>の中に<a>を入れる事は出来ません。

CGIを使うか、JavaScriptを使えば可能です。

以下CGI(PHP)を使った場合

----HTML----
<form action="location.php">
<select name="abc">
<option value="aa">aa</option>
<option value="bb">bb</option>
<option value="cc">cc</option>
<option value="dd">dd</option>
<option value="ee">ee</option>
</select>
<input type="submit" value="そこに飛ぶ">
</form>

----location.php----
header("Location: http://www.example.com/".$_GET["abc"].".html");
    • good
    • 0
この回答へのお礼

CGIにて可能なのですね。ご丁寧にありがとうございました。

お礼日時:2012/09/27 17:17

 selectはformのコントロールで、formはサーバにデータを送信する機能でリンク機能ではありません。


 javascriptを使用してselectをリンクに使用する方法がかっては良く行われていましたが、最近は少なくなりました。
 本来のナビゲーションリストを使うほうが、色々な意味でよいのです。

<div class="nav">
 <ol>
  <li><a href="aa">aa</a></li>
  <li><a href="bb">bb</a></li>
  <li><a href="cc">cc</a></li>
  <li><a href="dd">dd</a></li>
 </ol>
</div>
 そしてスタイルシートで、リンクにhoverすればメニューが開くように指定します。そうすると、javascriptを利用できないあらゆる端末、検索エンジンにも理解し利用できますから・・
【引用】____________ここから
HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
【引用】____________ここから
Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。JavaScript、Cookie、セッション ID、フレーム、DHTML、Flash などの特殊な機能が使用されているためにサイトの一部がテキスト ブラウザで表示されない場合、検索エンジンのスパイダーがサイトをうまくクロールできない可能性があります。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[ウェブマスター向けガイドライン - ウェブマスター ツール ヘルプ( http://support.google.com/webmasters/bin/answer. … )]より
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!