• 締切済み

アンケート型のホームページのプログラミングの作り方を教えてください。

以前、質問させていただいた内容の続きです。 とりえあえず、javascriptでアンケート型のものが作れたのですが、複数のページのアンケート結果を最後のページで表示することができません。 つまり、アンケートが複数にわたって存在し、そのアンケートの総得点が最後のページに出るようにしたいのです。 どなたか教えてください。お願いします。

みんなの回答

回答No.2

訂正。 よく考えれば、URLのバイト数は、チャットルームで1kb以上のサイズになることもあるので、数kbなら大丈夫かも。

すると、全ての回答が全文表示されます。
回答No.1

<form action="page2.html" method="GET"> <input type="text" name="user"> <input type="text" name="age"> <input type="submit"> </form> このフォームを送信すると、page2.htmlの中で、window.location.searchでデータを取得出来ます。 &で分割し、それぞれを=で分割してください。 var allDataes={}; var src=location.search; if(src.indexOf('?')!=-1) src=src.substring(src.indexOf('?')+1); var lines=src.split('&'); for(var i=0,k,v,ln;i<lines.length;i++){ ln=lines[i].split('='); k=decodeURIComponent(ln[0]); v=decodeURIComponent(ln[1]); allDataes[k]=v; } document.writeln('名前 : '+allDataes['user']+'<br>'); document.writeln('年齢 : '+allDataes['age']+'<br>'); エラーチェックしてません PerlのCGI.pmやCのcgicと同じです。 データサイズ(URLの文字数)が256バイトを超えるようなら、 cookie(サイズ制限はブラウザ依存)を使ったり、POSTで送信してCGIアプリケーションを使った方が良いです。 ブラウザは数十kbのURLに対応していますが、経路が対応していない可能性があり、 古いプロクシとかを使っている人がいると、データがとぎれることがあります。 (セキュリティー上、そんな古いソフトを使ってる人はいないと思いますが、サーバー状況はさっぱりわかりません) decodeURIComponentはSafari1.0、MacIEなどで使用出来ませんが、escape/unescapeを駆使すればその代わりに使えます。 今はむしろPHPが主流ですね。 サイズ制限やデコードを気にせず、$_GET['user']や$_POST['user']で取得できます。

すると、全ての回答が全文表示されます。

関連するQ&A