• ベストアンサー

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

フォームの項目を来たページによって切り替えたいのですが。。。 1サイトのコンテンツがA,B,Cとあり、フォームがひとつしか無い場合、 Aからフォームに行くとA用の項目になっていて、 Bからだと同じフォームですがB用の項目が表示されているといった事がやりたいのですが、 私の力量ではどうにも行きませんでした。。。 ちなみにABC以外のページからフォームに行った場合は A用の項目が表示されているというのが理想です。 どなたかお分かりの方いましたら、是非ご教授お願い致しますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

方法その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で記述すればいいのよ

No_3710
質問者

補足

ありがとうございます! 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を大量に入れないでやる方法はありますでしょうか?

その他の回答 (2)

回答No.3

本文中の定位置に出力させるのなら, 最初からソース中には全部書いておいて, 条件判断自体はそのままで, removeChildを使って消せばいいけど.

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

サーバーサイドのプログラム(PHPやCGI)を使うのが賢明。 ただしスキルとサーバー側の対応が必要です。 javascriptなどでもできますが、javascriptが使えないブラウザや 環境からだとうまく動かないので微妙です。 フォームを2つ以上使えるように模索する方がよいと思いますが・・・

関連するQ&A