JavaScript を最近始めたばかりですのでカテゴリ違いでしたらすいません。
チェックボックスの選択パターンによって、ボタンをクリックした時に表示されるページが変わるようにしたいです。
【例】
---------------
□項目1
□項目2
□項目3
[ ボタン ]
---------------
1を選択してボタンをクリック → 1.html にジャンプする
2を選択してボタンをクリック → 2.html にジャンプする
3を選択してボタンをクリック → 3.html にジャンプする
1と2を選択してボタンをクリック → 12.html にジャンプする
2と3を選択してボタンをクリック → 23.html にジャンプする
1と3を選択してボタンをクリック → 13.html にジャンプする
1と2と3を選択してボタンをクリック → 123.html にジャンプする
アドバイス等よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
以下、サンプルです。
関数が2種類ありますが、使いやすい方を選んで使って。
jump1 は 飛び先のファイル名が自由に決められる
(飛び先を全て書き出しておく必要があるので面倒だけど自由度は高い)
jump2 の飛び先は組み合わせで自動的にファイル名が決まる。
(自動で決まるので楽だけど自由度は少ない)
<html>
<head>
<title>さんぷる</title>
<style type="text/css">
#checklist{
list-style-type:none;
margin:0;padding:0;
}
#checklist li{
margin:0;padding:0;
}
</style>
<script type="text/javascript">
function jump1(){
var clist = document.getElementById('checklist').getElementsByTagName('input');
var URLlist = new Array();
URLlist['100'] = '1.html';
URLlist['010'] = '2.html';
URLlist['001'] = '3.html';
URLlist['110'] = '12.html';
URLlist['101'] = '13.html';
URLlist['011'] = '23.html';
URLlist['111'] = '111.html';
var condition='';
for(var i=0;i<clist.length;i++) {
condition += (clist[i].checked)?'1':'0';
}
if(condition == '000') {
alert('チェックが一つもありません');
return;
}
//alert(URLlist[condition]);return; //テスト用
location.href=URLlist[condition];
}
function jump2(){
var clist = document.getElementById('checklist').getElementsByTagName('input');
var condition='';
for(var i=0;i<clist.length;i++) {
condition += (clist[i].checked)?i+1:'';
}
if(condition == '') {
alert('チェックが一つもありません');
return;
}
//alert(condition+'.html');return; //テスト用
location.href=condition+'.html';
}
</script>
</head>
<body>
<ul id="checklist">
<li><input type="checkbox" id="cb01"><label for="cb01">項目1</label></li>
<li><input type="checkbox" id="cb02"><label for="cb02">項目2</label></li>
<li><input type="checkbox" id="cb03"><label for="cb03">項目3</label></li>
</ul>
<p><input type="button" value="ボタン" onclick="jump1()"></p>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
インラインフレームのキーイベント
-
htaでVBSのソースを書いたらエ...
-
ボタンのID名を取得するには?
-
function の return 値を表示し...
-
<a href="#" …>の意味を教えて...
-
変数の代入値を外部の.txtファ...
-
javascriptとApacheの設定
-
"rows", "*,100%"って何の記述?
-
open()したウィンドウを見せな...
-
別ファイルのfunctionの読み込み方
-
特定のページから移動してきた...
-
bodyにidをつける理由は何ですか?
-
親タブから子タブ開いて親タブ...
-
【Google Apps Script】「ライ...
-
JavaScript圧縮で、PHP含むこと...
-
インラインフレームで表示され...
-
「街」や「428」や「かまいたち...
-
外部読み込みで動かないときの...
-
指定の年月日時にcssを自動で切...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
getElementsByNameで要素が取得...
-
フォーカス移動抑止について
-
bodyタグのfocus
-
JavaScriptでのEnterキーとAlt+...
-
キーを押している間の時間を計...
-
何度もリピートする、カウント...
-
リンク移動先のURLを取得
-
JavaScript でキーを送る
-
ボタンのID名を取得するには?
-
クリックすると別の文章を表示する
-
JavaScriptでの西暦下2桁での表...
-
自動ジャンプでフォームデータ...
-
IFRAME内のソースを別のIFRAME...
-
【js】onsubmit属性が変更できない
-
【jquery】EasyUIのSubGridにMy...
-
return falseが効かない(F5キ...
-
htaでVBSのソースを書いたらエ...
おすすめ情報