プロが教える店舗&オフィスのセキュリティ対策術

以下は、セレクトボックス1と2でそれぞれ松山市と高松市を選んだら、配列を呼び出すことができるプログラムです。
<script type="text/javascript">
function change() {
if (document.getElementById("selbox")) {
selboxValue = document.getElementById("selbox").value;
if (selboxValue == "1") {
//文字1を表示
document.getElementById("txt1").style.display = "";
//文字2を非表示
document.getElementById("txt2").style.display = "none";
} else if (selboxValue == "2") {
//文字2を表示
document.getElementById("txt2").style.display = "";
//文字1を非表示
document.getElementById("txt1").style.display = "none";
}
}
}
function kotae()
{
ten=0
if((f.q1.value == "松山市"&&f.q2.value == "高松市")||(f.q1.value == "高松市"&&f.q2.value == "松山市"))
{f.q1.style.backgroundColor="aqua ";ten = ten + 50}
else f.q1.style.backgroundColor="red"
if(f.q3.value == "名古屋市"){f.q3.style.backgroundColor="aqua ";ten = ten + 25}
else f.q3.style.backgroundColor="red"
if(f.q4.value == "金沢市") {f.q4.style.backgroundColor="aqua ";ten = ten + 25}
else f.q4.style.backgroundColor="red"
f.tokuten.value=ten
const keywords = ['あいうえお','かきくけこ', 'さしすせそ'];
if (f.tokuten.value=50) {
for (let i = 0; i < keywords.length; i++) {
console.log(f.rank.value=keywords[0]);
}}
else if(f.tokuten.value >=20){f.rank.value = 'B'}
else if(f.tokuten.value >=15){f.rank.value = 'C'}
else if(f.tokuten.value <10){f.rank.value = 'D'}
//ここまで
}
</script>
<body>
<form name="f">
愛媛県の県庁所在地は
<select name="q1">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。
<p>
香川県の県庁所在地は
<select name="q2">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。<p>
愛知県の県庁所在地は
<select name="q3">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。<p>
石川県の県庁所在地は
<select name="q4">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。<p>
<input type="button" name="b1" value="答え合わせ" onclick="kotae()"> <p>
<input name=tokuten size="6">点
<!--HTMLここから-->
<input name=rank class="hoge">ランク
<!--HTMLここまで-->
しかし、僕はもうちょっと踏み込んだところまで行きたいのです。
ブラウザに表示させたいのです。
document.writeで書くと別のページに遷移してしまうし、
一方でalertだと文章が読みづらいです。
ブラウザに配列を表示するものは以下のプログラムですが、
<script>
var todo = ['メール確認', '日報送信', 'スケジュール確認', '資料作成'];
for (var i = 0; i < todo.length; i++) {
 var todoList = document.createElement('li');
 todoList.textContent = todo[i];
 document.getElementById('list').appendChild(todoList);
}
</script>
ただ、これだとセレクトボックスで松山市と高松市を選んだ場合の表示ができません。どうしたらいいのでしょうか。
どうしたらいいのでしょうか。

A 回答 (1件)

こんなんでどうでしょう?


変な所消しちゃいましたけど
==============ソース==================
<html>
<head>
<!DOCTYPE html>
<meta charset="utf-8">
<script type="text/javascript">
function change(selbox) {

var txt1 = document.getElementById("txt1");
var txt2 = document.getElementById("txt2");

switch(selbox.value){
case '1':
txt1.style.display = "";
txt2.style.display = "none";
break;
case '2':
txt1.style.display = "none";
txt2.style.display = "";
break;
case '3':
//ここに何か記載する
break;
case '4':
//ここに何か記載する
break;
default:

}
var todo = ['メール確認', '日報送信', 'スケジュール確認', '資料作成'];
var str='';
for (var i = 0; i < todo.length; i++) {
str += todo[i] + '<BR>';
}
document.getElementById('message_area').innerHTML = str;
}
</script>
<body>
<form name="f">
愛媛県の県庁所在地は
<select name="q1" onchange="change(this)">
<option value="">選択肢</option>
<option value="1">名古屋市</option>
<option value="2">松山市</option>
<option value="3">金沢市</option>
<option value="4">高松市</option>
</select>
です。
<p>
香川県の県庁所在地は
<select name="q2" onchange="change(this)">
<option value="">選択肢</option>
<option value="1">名古屋市</option>
<option value="2">松山市</option>
<option value="3">金沢市</option>
<option value="4">高松市</option>
</select>
です。<p>
愛知県の県庁所在地は
<select name="q3">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。<p>
石川県の県庁所在地は
<select name="q4">
<option>選択肢</option>
<option>名古屋市</option>
<option>松山市</option>
<option>金沢市</option>
<option>高松市</option>
</select>
です。<p>
テキスト1<input type="text" id="txt1" name="txt1"><BR>
テキスト2<input type="text" id="txt2" name="txt2"><BR>
<div id="message_area" />
<body>
</html>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!