![](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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) Excelで質問です。 詳細(写真) ①黄色の部分を全てプルダウンを設定する。 ②リストはG列 ③リ 1 2023/06/16 21:54
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数列を持ったリストボックス...
-
セレクトボックスのselected属...
-
セレクトボックスである項目を...
-
<SELECT>タグの折り返し
-
セレクトボックスの「選択して...
-
optionのselectedは更新時は効...
-
select boxとinput valuの連動
-
プルダウンで別項目に値を代入...
-
インラインフレーム内へのリンク
-
特定のドロップダウンリストを...
-
フォームでジャンプメニューを...
-
インライン要素内でテキストを...
-
同じものを繰り返し表示させる
-
プルダウンメニュー中の項目を...
-
Application.ScreenUpdating = ...
-
16進の10進変換について
-
JSONで文字列が長い時
-
Scheme 中置式から後置式へ
-
どちのほうがすきですか?
-
ACCESS テキストボックスを隙...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の横にプルダウンを表示さ...
-
<SELECT>タグの折り返し
-
セレクトメニューで2つの項目...
-
テーブル内でドロップダウンメ...
-
セレクトボックスのselected属...
-
複数列を持ったリストボックス...
-
SELECT OPTIONの中身をコピペ...
-
セレクトメニューで選んだ値を...
-
プルダウンリストの背景色の指定
-
セレクトボックスから別窓にジ...
-
セレクトボックスの「選択して...
-
同じものを繰り返し表示させる
-
selectタグ内の特定のoptionの...
-
セレクトボックスである項目を...
-
セレクトボックスの中を一部隠...
-
セレクトボックスの内容を中央寄せ
-
2つのプルダウンボックスの連...
-
Fire fox の 文字化けを解消...
-
SELECT要素の垂直位置
-
SELECT要素について
おすすめ情報