![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
WEB上でアンケートを行い、その結果で飛び先が変わるページを作りたいと思います。
CGIではなくJavascriptで動かしたいのですが、あまり詳しくありません。原理を教えてもらってもちょっと。。なので、サンプルソースが欲しいのですがどうもみつかりません。
どなたか教えて欲しいです。お願いします!
■作りたいものの概要
アンケートは設問は二問。それぞれYorNの二択で、ラジオボタンで選択させます。
選択後、[結果]ボタンを押すと結果に応じたページが表示されます。
また、結果のパターンはYY,YN,NY,NNの四つのみで、YNとNYは別物と考えます。
※ラジオボタンはデフォルトでYが選択されている。
■その例;
設問1:あなたは●●ですか?
はい いいえ
設問2:あなたは▼▼ですか?
はい いいえ
[結果]
---------------
それぞれの結果ごとの飛び先をA.html, B.html, C.html, D.htmlとします。
No.2ベストアンサー
- 回答日時:
下記のHTMLで希望の動作をします。
(IE5.5、NN4.7、NN6.2 動作確認済み)<HTML>
<HEAD>
<TITLE>アンケート</TITLE>
<SCRIPT language="JavaScript"><!--
var page = new Array();
page['YY'] = 'A.html';
page['YN'] = 'B.html';
page['NY'] = 'C.html';
page['NN'] = 'D.html';
function branch(f) {
var ans = '';
for (var i = 0; i < f.q1.length; i++) {
if (f.q1[i].checked) ans+=f.q1[i].value;
}
for (var i = 0; i < f.q2.length; i++) {
if (f.q2[i].checked) ans+=f.q2[i].value;
}
location.href = page[ans];
return false;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM name="enquete" onSubmit="return branch(this)">
設問1:あなたは●●ですか?<BR>
<INPUT type="radio" name="q1" value="Y" checked>はい
<INPUT type="radio" name="q1" value="N">いいえ<BR>
設問1:あなたは▼▼ですか?<BR>
<INPUT type="radio" name="q2" value="Y" checked>はい
<INPUT type="radio" name="q2" value="N">いいえ<BR>
<INPUT type="submit" value="送信">
</FORM>
</BODY>
</HTML>
※見やすさのために全角スペースを入れています。コピーする際は、半角スペースかタブに変換して下さい。
※No.1のお礼より
> ファイルがひらかず再読込されるだけです。
これは、JavaScriptの定義関数から false を返していないために起こります。
FORMタグの「 onSubmit="return 関数" 」で呼び出す関数からは、false を返すことでFORMの送信動作をキャンセルさせることができます。(true を返せば送信します。)
(No.1の回答では、恐らく「 return false; 」を書き忘れたのでしょう。)
このようにしておけば、同じ画面に新しいページが表示されます。(open関数などを使う必要はありません。)
また、URLをフルパスで指定しても大丈夫です。
No.1
- 回答日時:
こんな感じでしょうか?
一応IEでは動作しますが、netscape系は動作が変です。
<HTML>
<HEAD>
<TITLE>さんぷる</TITLE>
<SCRIPT type="text/javascript">
varq1=1;
var q2=1;
function hantei(){
if(q1 == 1 && q2 == 1) {
location.href = "./A.html";
}
else if(q1 == 1 && q2 == 2) {
location.href = "./B.html";
}
else if(q1 == 2 && q2 == 1) {
location.href = "./C.html";
}
else if(q1 == "2" && q2 == "2") {
location.href = "./D.html";
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM onsubmit="return hantei()">
設問1:あなたは●●ですか? <BR>
<INPUT TYPE="radio" VALUE="1" checked onclick="q1=1;">はい</INPUT>
<INPUT TYPE="radio" VALUE="2" onclick="q1=2;">いいえ</INPUT>
<BR>
設問2:あなたは▼▼ですか? <BR>
<INPUT TYPE="radio" VALUE="1" checked onclick="q2=1;">はい</INPUT>
<INPUT TYPE="radio" VALUE="2" onclick="q2=2;">いいえ</INPUT>
<BR>
<INPUT TYPE="SUBMIT" VALUE="結果"></INPUT>
</FORM>
</BODY>
</HTML>
NAMEを入れてみたところ、選択できるようになりました!
>TYPE="radio" NAME="Q1" VALUE="1" checked onclick="q1=1;">はい
location.href = "./C.html";
の部分ですが、PATHがあっているのに、ファイルを開けませんでした。
ファイルがひらかず再読込されるだけです。
また、最終的にはフルパスでURLを書きたいのですが、
window.open("full path URL")
だとうまくいったのですが、
同じ画面内でページを開くように
window.open("full path URL" , "_top");
としてみたのですが、NGでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- JavaScript プルダウンから1個選んで、豆知識を出すプログラム。 2 2022/06/21 17:27
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Chrome(クローム) PCの Google Chrome が頻繁に「ページが応答していません」となり作業が進みません。 1 2023/05/25 20:43
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- その他(メールソフト・メールサービス) グーグルフォームでのメールを転送 1 2022/04/29 09:29
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 統計学 統計学の質問【帰無仮説】 B大学の卒業生の平均年収について調査するため、100人の卒業生を無作為に選 1 2023/05/25 23:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
サブウィンドウからの値の取得...
-
データベースの値を判断してラ...
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンのチェックが外れ...
-
チェックされたラジオボタンに...
-
ラジオボタンの値でリンク先を...
-
オブジェクト名に変数を使いたい
-
ページのジャンプ
-
ラジオボタン未チェックの場合...
-
クイズの正解(○×)をテキスト...
-
javascript作成してます。ラジ...
-
js radioボタンの「name」を多...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
value内に変数を入れたい
-
ボタン2回押しを無効にしたい
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
-
フォーム内で記入したクエリ送...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンの値でリンク先を...
-
javascript作成してます。ラジ...
-
Jvasvriptのlengthで個数が取得...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンのリセット方法
-
ラジオボタンでdisabledとchecked
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンのチェック数に応...
-
アンダーバーのname値は取得で...
-
ラジオボタンを使って、検索ペ...
-
ラジオボタン未チェックの場合...
-
リセットボタンでクリアできな...
-
javascriptによる動的なリンク...
-
javascriptでのアラート表示
-
【診断テストの作り方】結果に...
おすすめ情報