こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Javascriptの結果の出し方で困っています

自分のサイトにチェッカーを入れたくて下記の記述を書きました。
<script>
function calc(f){
var sum=0;
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value);
}
f.judge.value=sum;
}
</script>
<form action="chekker/" method="post">

<ol>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q1" id="Q1_1" value="2"><label for="Q1_1">はい</label>
<input type="radio" name="Q1" id="Q1_2" value="0"><label for="Q1_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q2" id="Q2_1" value="2"><label for="Q2_1">はい</label>
<input type="radio" name="Q2" id="Q2_2" value="0"><label for="Q2_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q3" id="Q3_1" value="2"><label for="Q3_1">はい</label>
<input type="radio" name="Q3" id="Q3_2" value="0"><label for="Q3_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q4" id="Q4_1" value="2"><label for="Q4_1">はい</label>
<input type="radio" name="Q4" id="Q4_2" value="0"><label for="Q4_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q5" id="Q5_1" value="2"><label for="Q5_1">はい</label>
<input type="radio" name="Q5" id="Q5_2" value="0"><label for="Q5_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q6" id="Q6_1" value="2"><label for="Q6_1">はい</label>
<input type="radio" name="Q6" id="Q6_2" value="0"><label for="Q6_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q7" id="Q7_1" value="2"><label for="Q7_1">はい</label>
<input type="radio" name="Q7" id="Q7_2" value="0"><label for="Q7_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q8" id="Q8_1" value="2"><label for="Q8_1">はい</label>
<input type="radio" name="Q8" id="Q8_2" value="0"><label for="Q8_2">いいえ</label>
<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q9" id="Q9_1" value="2"><label for="Q9_1">はい</label>
<input type="radio" name="Q9" id="Q9_2" value="0"><label for="Q9_2">いいえ</label>

<br><br>
<li>aaaaaaaaaaaaa<br>
<input type="radio" name="Q10" id="Q10_1" value="2"><label for="Q10_1">はい</label>
<input type="radio" name="Q10" id="Q10_2" value="0"><label for="Q10_2">いいえ</label>

</ol> <center>
<p><font size="+1" color="#FF0000"><b>採点!!</b></font></p>
<input type="text" name="judge" value="0" SIZE="10">
<input type="button" value="採点する" onClick="calc(this.form);window.open('kekka.html','windowname');">
</p></center>
</form>
はいが2点、いいえが0点とします。
この記述方法だと、テキストボックスに点数の合計が記載されてしまいます。
別ページのテキストボックス内に点数の合計を呼び出したいのですが、どうすればいいのでしょうか。
出来れば呼び出す際のソースコードなどもすべて記載していただけるとありがたいです。
※ページの内容で中身が変わるわけではなく、点数の結果を表示したいです。
※呼び出す際のコードも記載していただけたらありがたいです
※結果のページをkekka.htmlとします。
初心者なのでどうしたらいいのか分かりません。よろしくお願いします。

投稿日時 - 2011-06-30 08:54:15

QNo.6844517

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

JavaScriptのデータは、閲覧中のページ内にのみ保持します。
そのため、移動先のページでも引き続き関連データを扱いたい場合は、なんらかの方法で「データを渡す」という作業が必要になってきます。

パッと思いつくところでは、

・URLパラメータで渡す
・Cookieで渡す
・PHPなどのサーバーサイドプログラムで外部にデータを出力し、移動先ページで読み込む

といったところではないでしょうか。
とはいえ、初心者さんに「これ使えばそのまま動くよ」というものを渡すのは難しいと思います。
というのも、ちゃんと動作するものを作るには、動作環境などそちらの仕様をうかがう必要がありますし、動作環境を正確に答えられないのが初心者さんだと思うからです。また、何らかのサンプルをお渡ししても、疑問が疑問を呼ぶだけだと思うからです。
見捨てるわけではないですが、もしどうしてもご自身で問題をクリアしたいのであれば、「URLパラメータ」「Cookie」などを最低限調べられた上で、不明な点だけを改めて質問された方が回答がつきやすいと思いますよ。
「教えて」に対しては回答がつくと思いますが、「代わりにやって」は、質問ですらないと思います。

投稿日時 - 2011-07-02 00:07:13

ANo.2

たとえば、計算結果をパラメータでわたしてやります
kekka.html?point=10

kekka.html側でlocation.searchの値をみて点数を表示します

投稿日時 - 2011-06-30 12:33:21

別のページにJavaScript でデータを持って来る事はできませんね。

よくある通販サイトなどは、JavaScript ではなくサーバーサイドで値を取得、足し算し、再表示してるんです。

初心者という事でJavaScript を使われたのでしょう。となるとCookie に保存するしかないですね。

JQuery とかjquery.cookie とかあるんですけど、おそらく初心者には敷居が高いのでJavaScript で実装したのを紹介します。下の方のCookie 管理のfunction setCookie() とgetCookie() の二つです。

最初のページでsetCookie() で集計値を保存し、次のページではgetCookie() で取り出します。

他に方法あったかなぁ?

参考URL:http://ast.qt-space.com/web/jscript.html#__2

投稿日時 - 2011-06-30 09:31:35

あなたにオススメの質問