複数のページ(html)で、下記のようにスコアをだしています。
1~3ページの合計スコアを4ページ目に出したいのですが、全く方法がわからなく、困っています。
ページ1~3のスコアを書きこむ箇所は、s1,s2,s3にしています。
どうか教えてください。よろしくお願いいたします。
---------------------------------------------------------------
function dispscore() {
var score=0;
if (document.form1.q1[0].checked) {
score += 10;
}
else{
score += 0;
}
document.form1.s1.value=score
}
// -->
</SCRIPT>
</HEAD>
<BODY bgcolor="#ffffff">
<FORM name="form1">
<TD width="415" height="44" align="right"><B><FONT color="#000000" size="2"><INPUT size="10" name="s1" type="text" style="border-width : 0px 0px 0px 0px;border-style : solid solid solid solid;"></FONT></B></TD>
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
そのフォームとコードの抜粋ではどういう移動の仕方をしてるのかなどわからないので方法だけ。
一般的に値のページ持ち越しの方法は
■GETで渡す
データチェックした後にフォームのaction やアンカーのhrefなどの移動方法のURIを操作。
具体的にはURIに ?xxx (1データの場合) としてデータをJavascriptでくっつけて書きかえる。
1データなら受け取り側(次のページ)では var str = location.search.replace('?',''); で str にはいる。
この方法の欠点はロケーションバーに値が見えるので、合計点が常に見える。
■クッキーを使う方法
データチェックしたあとに
document.cookie = "UrTotal=" + score;
とすれば、クッキーに UrTotal=10 などの値が格納される。
ブラウザを閉じるまで有効であれば良いでしょうから期限は不要。
受け取り側(次のページでは)
document.cookie でとれる全クッキーデータから UrTotal=数値 にマッチする部分を取り出す。
データが単純な数値のみなら
var str = document.cookie.match(/UrTotal=([0-9]*)/)[1];
の様な雑な取り方でも特に問題ないと思う。
この方法の欠点はクッキーを拒否されたら無効。
■フレーム化
全体の構造をフレーム化するは面倒でしょうから、
設問部分のブロックをiframeにして出題ページや最終ページを読ませて使う。
iframeを持つ親ページでは
<script type="text/javascript">var Total = 0; </script>
<iframe frameborder="0" src="1.html"></iframe>
としておき、このiframe内に読み込ませる各ページで使うスクリプトでは、
合計値を parent.Total という親ページの変数を読み書きする事が可能。
JavaScriptのみで値を持ち越す時はフレーム化が一番便利で固いかも。
フレームが嫌いなら無理。
と言った感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
フレームを跨ぐドロップダウン...
-
プルダウンメニュー
-
jqueryを利用してインラインフ...
-
ブラウザのURLアドレス文字表記...
-
チェックボックスのチェックを...
-
function jumpを利用した時の戻...
-
ロード時に別フレームの関数を...
-
別フレームのページが読み込み...
-
Javaでテトリスを作っています。
-
親フレームからkeydownイベント...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
新しいウィンドゥを最大化で立...
-
pythonのWebスクレイピングでfi...
-
javascriptファイルは1つに統...
-
javascriptでalertの文字列をコ...
-
【Google Apps Script】「ライ...
-
javascriptのalertで文字化けが...
-
javascriptとApacheの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLでサブフレームから親のス...
-
スマホ上で、左右スワイプで次...
-
インラインフレームをドラッグ...
-
フレームを跨ぐドロップダウン...
-
インラインフレームで表示され...
-
別ページのインラインフレーム...
-
子フレームの自動リロードは可...
-
外部から読み込まれたJava...
-
openerは使えないのでしょうか?
-
Safariで<iframe>のinnerHTMLを...
-
他のフレームのスクリプトを実...
-
親フレームからkeydownイベント...
-
フレーム分割領域のサイズを変...
-
ページ遷移をコントロールしたい
-
フレームを使用した複数プルダ...
-
エラー:書き込みができません ...
-
親ウィンドウの別フレームを子...
-
jqueryを利用してインラインフ...
-
上と左にフレームわけされてい...
-
フレーム分割について
おすすめ情報