重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

フォームの項目を来たページによって切り替えたいのですが。。。

1サイトのコンテンツがA,B,Cとあり、フォームがひとつしか無い場合、
Aからフォームに行くとA用の項目になっていて、
Bからだと同じフォームですがB用の項目が表示されているといった事がやりたいのですが、
私の力量ではどうにも行きませんでした。。。

ちなみにABC以外のページからフォームに行った場合は
A用の項目が表示されているというのが理想です。

どなたかお分かりの方いましたら、是非ご教授お願い致しますm(_ _)m

A 回答 (3件)

方法その1



document.referrer
で直前のページのURLが取得できるわ
あとは画面をdocument.writeで記述すればいいのよ


方法その2

呼び出しもとの画面ABCがフォームへのリンクをクリックしたときのURLにパラメータをつけてあげる
http://~/form.html?A
http://~/form.html?B
http://~/form.html?C
こんな風にね
あとはフォームのページで
location.search.substring(1,window.location.search.length)
とすれば?移行につけた文字列が取れるわ
つまり今回の場合はAだったりBだったりCだったり
あとは画面をdocument.writeで記述すればいいのよ

この回答への補足

ありがとうございます!
Javascriptも微妙だったのですがdocument~を調べて
かなり近づきました!

ただ、各項目の量があるのでこれを上手くまとめる方法等
ご存知でしたらご教示いただいたいのですが。。。

<SCRIPT>
<!--
if( document.referrer == "A.html" ) {
myCMT = "Aのフォーム用項目";
}else if("B.html" == document.referrer) {
myCMT = "Bのフォーム用項目";
}else{
myCMT ="デフォルトのフォーム用項目";
}
//-->
</SCRIPT>

<body>
<SCRIPT>
document.write(myCMT);
</SCRIPT>


ここまでは奇跡的にできましたが、

"Aのフォーム用項目";
この中にhtmlを大量に入れないでやる方法はありますでしょうか?

補足日時:2010/01/07 19:03
    • good
    • 0

本文中の定位置に出力させるのなら, 最初からソース中には全部書いておいて,


条件判断自体はそのままで, removeChildを使って消せばいいけど.
    • good
    • 0

サーバーサイドのプログラム(PHPやCGI)を使うのが賢明。


ただしスキルとサーバー側の対応が必要です。

javascriptなどでもできますが、javascriptが使えないブラウザや
環境からだとうまく動かないので微妙です。

フォームを2つ以上使えるように模索する方がよいと思いますが・・・
    • good
    • 0

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