- ベストアンサー
複数ページの値を合計するには
javascript初心者です。10問位の1ページ1問の診断ページを作っています。最終頁で診断結果を出したいのですが、javascriptでURLの後ろに(?の後ろ)くっつけた値(数字)の合計が出来ずに困っています。この合計点に応じてメッセージも出したいのですが、どなたかお教え願いませんでしょうか?よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
参考URLにわかりやすく説明してあるサイトをのせときました。 参考URLにも書いてありますが。 .htmlの後ろに何個もパラメーターをつけるには page1.html?param=1¶m=5¶m=7¶m=4 と「&」をつけることにより、なんこも渡すことが可能です。 ただ、文字数の制限があるので あまりにも長くなりすぎては駄目です。 ご存知でしたらすみませんでした。 あと補足です。 合計点を出すとありますが、最後にまとめて計算するより ページ遷移した時に計算して、その計算した結果を .html?total=23 などとすれば、「&」を必要とすることもなく 一つのパラメーターで済むので、すっきりとスマートにいけると思いますよ。
その他の回答 (4)
- urecy
- ベストアンサー率54% (30/55)
ごめんなさい訂正です。 >page1.html?param=1¶m=5¶m=7¶m=4 とありましたが。 paramと同じ名前が4つもあっては どれがどのparamか判別できないので、エラーになりますね・・・ .html?param1=1¶m2=5¶m3=7¶m4=4 などとして、ばらばらの名前にする必要があります。
- yambejp
- ベストアンサー率51% (3827/7415)
>q-4.html???456 ?はページとパラメータをつなぐ部分に1回しかつかえません。 2つも3つもつけた時点で、こんな文法は認められません。
- yambejp
- ベストアンサー率51% (3827/7415)
>URLの後に???XXXX(数字)が出せるようになりました ちょっとサンプルをあげたほうがよいですね。 具体的にどういうURLになって、それをどう計算したいのかさっぱりわかりません。
補足
そうですね。具体的には、回答は四択として番号をクリックすると次の質問ページに遷移するようにしています。その番号毎に数値をもたせて最終頁に各ページの数値を合計し点数に応じてメッセージを出そうと思っています。例えば3問目を答えた場合URLにはhttp://test.co.jp/q-4.html???456と表示され、最終頁にて???の後の数字の合計(ここでは4+5+6)の計算をしたいのですが・・・選択肢と次ページへの数値渡しのソース(1問目)はこんな感じです。 var answers = location.search; var nextpage = "q1_2.html?"; var select1 = "4"; var select2 = "5"; var select3 = "6"; var select4 = "7"; document.write('[ <a href="' + nextpage + answers + select1 + '">1</a> ] '); document.write('[ <a href="' + nextpage + answers + select2 + '">2</a> ] '); document.write('[ <a href="' + nextpage + answers + select3 + '">3</a> ] '); document.write('[ <a href="' + nextpage + answers + select4 + '">4</a> ] ');
- SAYKA
- ベストアンサー率34% (944/2776)
それは cookie か input type="hidden" でできるんじゃない? http://www.tohoho-web.com/wwwcook.htm http://www.tohoho-web.com/js/form.htm
お礼
ご回答ありがとうございます。 選択肢もjavascriptで出そうと思っておりまして、やっとURLの後に???XXXX(数字)が出せるようになりましたので、できましたらそのXXXXの合計が計算できたら最良と思っております。すみません。
お礼
urecyさん。ご回答ありがとうございます。何か近づいてきたような気がします。さっそくやってみます。取り急ぎお礼まで。