![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ホームページで、メールフォームの一部にドロップダウンリストを使用しています。通常はユーザーの方にリストから一つ選んでもらっているのですが、特定のリンク元からメールフォームのページに飛んだときにのみ、あらかじめ指定のリストを選択状態にしておきたいと考えています。
つまり、デフォルトのドロップダウンリストを表示させる場合と、それとは異なるリストを表示させる場合とを使い分けたいのですが・・・可能でしょうか。
HTMLか、JavaScriptか、CGIか・・・いろいろ調べてみたのですが、分かりませんでした。
どなたか、教えてください!!
No.1ベストアンサー
- 回答日時:
こんな感じでしょうか?
//以下の行は、「//-->」の部分を除いてコメント行なので削除しても構いません。
あと、タブを消してありますので、ソースが見やすくなるように適当に追加してください。
-----[ソース(前後省略)]-----
<script language="javascript">
<!--
//どのページから辿っても同じ表記になる部分
document.write('<select name="aaa">');
document.write('<option value="-">デフォルト</option>');
//特定のページから辿ると、デフォルト選択しておきたい選択肢
if (document.referrer.indexOf("/test.html")>0){
document.write('<option value="0" selected="selected">選択肢0</option>');
}else{document.write('<option value="0">選択肢0</option>');}
//どのページから辿っても同じ表記になる部分
document.write('<option value="1">選択肢1</option>');
document.write('</select>');
// -->
</script>
<noscript>
<select name="aaa">
<option value="-">デフォルト</option>
<option value="0">選択肢0</option>
<option value="1">選択肢1</option>
</select><br>
javascriptがオフになっています。
</noscript>
-----[ソースここまで]-----
javascriptをオフにしていたり、リファラをセキュリティソフト等で切っていると正しく機能しないと思いますが…。
(その場合、選択肢は表示されますが、思ったとおりの効果にはならないでしょう。javascriptをオフにしていると、<noscript>~</noscript>で囲った部分が、リファラを切っていると、直接指定したときと同じ様になります)
この例では「test.html」から辿ってきたときに「選択肢0」を、それ以外の場合には一番上の「デフォルト」を選択するようにしてあります。
以上、参考までに。
あまりソースが綺麗じゃないですね…。申し訳ありません。
回答ありがとうございました!
書いていただいたソースを参考に、ページを修正してみました。
・・・が、うまくいきません・・・。
何かやり方が間違っているのでしょうね・・・。
とりあえず、もう少しがんばってみます。
ソース、感謝です!ありがとうございました!
No.3
- 回答日時:
2つページを作ればHTMLだけでも初期表示状態を2つに分けることが出来ます。
一般のページ
<a href="form1.html">フォームへ</a>
form1.html
<select>
<option selected>選択肢1</option>
<option>選択肢2</option>
</select>
特定のページ
<a href="form2.html">フォームへ</a>
form2.html
<select>
<option>選択肢1</option>
<option selected>選択肢2</option>
</select>
ページが2つになるということを避けるために、また、JavaScriptを止めている環境でも表示出来るように、一般的にはCGIを使うと思いますが、
JavaScriptでもSSIでもできます。
回答ありがとうございました!
リストの数が多いので、リスト項目ごとにページを増やすのはやはり避けたいところです。
とりあえず、JavaScriptで試してみます。余裕があればCGIのほうが良さそうですが・・・。
勉強してみます。
ありがとうございました!
No.2
- 回答日時:
>特定のリンク元からメールフォームのページに飛んだとき
元のページというのは通常リファラーとよばれています。
リファラーを判定するのはたいていPHPやCGIなどの
サーバー側で動いているプログラムです。
また、元ページを参照するのではなく元ページで特定の
パラメータをつけてメールフォームにとばし、そのパラメータの
値をみて、前のページを類推するという手法もあるでしょう。
(もちろん悪意のあるユーザーにパラメータを偽造されるリスクはありますが)
その場合は、getやpostなどでパラメータをわたすか、クッキーや
セッションなどの技術を使うのが一般的です。
これもサーバーサイドのプログラムで処理するのが主流ですが
無理をすればブラウザの機能のみで実現することも可能です。
(ブラウザの処理は確実性に乏しいのでおすすめできませんが)
回答ありがとうございました。
勉強になりました。
CGIで処理するのがよさそうですね。
特に、パラメータをつけて・・・という方法がいいんじゃないかと思いました。
今のところ、CGIより簡単なJavaScriptで試していますが、CGIのほうも勉強してみます。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の横にプルダウンを表示さ...
-
プルダウンリストの背景色の指定
-
セレクトボックスのselected属...
-
セレクトメニューで選んだ値を...
-
テーブル内でドロップダウンメ...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
html select optionが左寄せに...
-
携帯サイト作成中、携帯上でプ...
-
セレクトボックスの文字
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
formで特定のinputを送信しない...
-
メモリをアドレスを直接指定し...
-
実行時エラー 3020の対策
-
【至急!!!】python言語で本を見...
-
コンボボックスのtag情報の取得...
-
pythonで改行を含めてfindする方法
-
pythonの*
-
【python】辞書作成(ネスト)を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の横にプルダウンを表示さ...
-
<SELECT>タグの折り返し
-
セレクトメニューで2つの項目...
-
テーブル内でドロップダウンメ...
-
セレクトボックスのselected属...
-
複数列を持ったリストボックス...
-
同じものを繰り返し表示させる
-
セレクトボックスから別窓にジ...
-
セレクトボックスの「選択して...
-
セレクトボックスである項目を...
-
プルダウンメニューの幅
-
SELECT OPTIONの中身をコピペ...
-
プルダウンリストの背景色の指定
-
selectタグ内の特定のoptionの...
-
ドロップダウンリストのselecte...
-
【プルダウンで選んでGOボタン...
-
セレクトメニューで選んだ値を...
-
セレクトボックスの中を一部隠...
-
プルダウンメニューのターゲッ...
-
HTMLでメディアプレイヤーの再...
おすすめ情報