- ベストアンサー
フォームの項目を来たページによって切り替えたいのですが。。。
フォームの項目を来たページによって切り替えたいのですが。。。 1サイトのコンテンツがA,B,Cとあり、フォームがひとつしか無い場合、 Aからフォームに行くとA用の項目になっていて、 Bからだと同じフォームですがB用の項目が表示されているといった事がやりたいのですが、 私の力量ではどうにも行きませんでした。。。 ちなみにABC以外のページからフォームに行った場合は A用の項目が表示されているというのが理想です。 どなたかお分かりの方いましたら、是非ご教授お願い致しますm(_ _)m
- みんなの回答 (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で記述すればいいのよ
その他の回答 (2)
- mazimekko3
- ベストアンサー率38% (74/194)
本文中の定位置に出力させるのなら, 最初からソース中には全部書いておいて, 条件判断自体はそのままで, removeChildを使って消せばいいけど.
- yambejp
- ベストアンサー率51% (3827/7415)
サーバーサイドのプログラム(PHPやCGI)を使うのが賢明。 ただしスキルとサーバー側の対応が必要です。 javascriptなどでもできますが、javascriptが使えないブラウザや 環境からだとうまく動かないので微妙です。 フォームを2つ以上使えるように模索する方がよいと思いますが・・・
補足
ありがとうございます! 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を大量に入れないでやる方法はありますでしょうか?