
自分のサイトにチェッカーを入れたくて下記の記述を書きました。
<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とします。
初心者なのでどうしたらいいのか分かりません。よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
JavaScriptのデータは、閲覧中のページ内にのみ保持します。
そのため、移動先のページでも引き続き関連データを扱いたい場合は、なんらかの方法で「データを渡す」という作業が必要になってきます。
パッと思いつくところでは、
・URLパラメータで渡す
・Cookieで渡す
・PHPなどのサーバーサイドプログラムで外部にデータを出力し、移動先ページで読み込む
といったところではないでしょうか。
とはいえ、初心者さんに「これ使えばそのまま動くよ」というものを渡すのは難しいと思います。
というのも、ちゃんと動作するものを作るには、動作環境などそちらの仕様をうかがう必要がありますし、動作環境を正確に答えられないのが初心者さんだと思うからです。また、何らかのサンプルをお渡ししても、疑問が疑問を呼ぶだけだと思うからです。
見捨てるわけではないですが、もしどうしてもご自身で問題をクリアしたいのであれば、「URLパラメータ」「Cookie」などを最低限調べられた上で、不明な点だけを改めて質問された方が回答がつきやすいと思いますよ。
「教えて」に対しては回答がつくと思いますが、「代わりにやって」は、質問ですらないと思います。
No.2
- 回答日時:
たとえば、計算結果をパラメータでわたしてやります
kekka.html?point=10
kekka.html側でlocation.searchの値をみて点数を表示します
No.1
- 回答日時:
別のページにJavaScript でデータを持って来る事はできませんね。
よくある通販サイトなどは、JavaScript ではなくサーバーサイドで値を取得、足し算し、再表示してるんです。
初心者という事でJavaScript を使われたのでしょう。となるとCookie に保存するしかないですね。
JQuery とかjquery.cookie とかあるんですけど、おそらく初心者には敷居が高いのでJavaScript で実装したのを紹介します。下の方のCookie 管理のfunction setCookie() とgetCookie() の二つです。
最初のページでsetCookie() で集計値を保存し、次のページではgetCookie() で取り出します。
他に方法あったかなぁ?
参考URL:http://ast.qt-space.com/web/jscript.html#__2
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
人気Q&Aランキング
-
4
Javascript: 送信フォームに画...
-
5
サブミット後、自動的に画面を...
-
6
HTML中のTABLEのデータを抽出す...
-
7
null 判定について
-
8
csvを使用したデータバインド(...
-
9
formで特定のinputを送信しない...
-
10
JS <a></a>タグ内のリンク先ア...
-
11
alertの最前面表示
-
12
MSGBOXのフォント大きさ変更
-
13
入力フォームをエクセルに書き出す
-
14
ページ内の特定の部分の取得
-
15
1つのページにformを2つ設置。2...
-
16
フォームの入力チェックをする...
-
17
JavaScriptで、コピーボタンを...
-
18
JavaScriptにおいてPOSTで送信...
-
19
通貨表示??3桁区切りでカン...
-
20
iframe内のformをサブミットす...