teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

意図的に内容を抹消する行為にあたるため

2021/05/20 05:38

投稿

nasamunag
nasamunag

スコア32

title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,114 @@
1
+ ### 前提・実現したいこと
2
+ 記述式一応の完成を見たが、コードをスマートにしたい、具体的には、
3
+ document.a1.answer.valueの値が入っているかどうかで分岐させたいが、
4
+ if (!empty(document.a1.answer.value)) {
5
+ がなぜかできない。
6
+ 提示したソース(選択式)を記述式にする事には成功した。
7
+ ■■な機能を実装中に以下のエラーメッセージが発生しました。
8
+ ### 発生している問題・エラーメッセージ
9
+ ```
10
+ エラーもしくは思うように動かない。
11
+ ```
12
+ ### 該当のソースコード
13
+ ```javascript
14
+ <!DOCTYPE HTML>
15
+ <html>
16
+ <head>
1
- 都合上、コード、日本語等を中略しました、質問内容は、質疑応答をご参考下さい。
17
+ <meta charset="utf-8">
18
+ <title>三択クイズ</title>
19
+ </head>
20
+ <body>
21
+ <h1>三択クイズ</h1>
22
+ <hr>
23
+ <h2>問題</h2>
24
+ <div id="text_q"></div>
25
+ <h2>選択</h2>
26
+ <div id="text_s"></div>
27
+ <h2>解答</h2>
28
+ <div id="text_a"></div>
29
+ <script type="text/javascript">
30
+ //問題と解答
31
+ qa = new Array();
32
+ qa[0] = ["イルカを漢字で書くとどれ?","海豚","海牛","河豚",1];
33
+ qa[1] = ["クラゲを漢字で書くとどれ?","水浮","水母","水星",2];
34
+ qa[2] = ["カタツムリを漢字で書くとどれ?","禍牛","鍋牛","蝸牛",3];
35
+ qa[3] = ["バッタを漢字で書くとどれ?","飛蝗","飛蟻","飛脚",1];
36
+ qa[4] = ["タツノオトシゴを英語にするとどれ?","sea fish","sea horse","sea dragon",2];
37
+ qa[5] = ["マグロを英語にするとどれ?","funa","suna","tuna",3];
38
+ qa[6] = ["トンボを英語にするとどれ?","fly","dragonfly","butterfly",2];
39
+ qa[7] = ["ヒトデを英語にするとどれ?","starfish","starshell","starmine",1];
40
+ qa[8] = ["恒星の中で最も明るい星は?","デネブ","スピカ","シリウス",3];
41
+ qa[9] = ["惑星の中で最も重たいのはどれ?","太陽","木星","天王星",2];
42
+ //初期設定
43
+ q_sel = 3; //選択肢の数
44
+ setReady();
45
+ //初期設定
46
+ function setReady() {
47
+ count = 0; //問題番号
48
+ ansers = new Array(); //解答記録
49
+
50
+ //最初の問題
51
+ quiz();
52
+ }
53
+ //問題表示
54
+ function quiz() {
55
+ var s, n;
56
+ //問題
57
+ document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[count][0];
58
+ //選択肢
59
+ s = "";
60
+ for (n=1;n<=q_sel;n++) {
61
+ s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[count][n] + "</a>】";
62
+ }
63
+ document.getElementById("text_s").innerHTML = s;
64
+ }
65
+ //解答表示
66
+ function anser(num) {
67
+ var s;
68
+ s = (count + 1) + "問目:";
69
+ //答え合わせ
70
+ if (num == qa[count][q_sel + 1]) {
71
+ //正解
72
+ ansers[count] = "○";
73
+ } else {
74
+ ansers[count] = "×";
75
+ }
76
+ s += ansers[count] + qa[count][num];
77
+ document.getElementById("text_a").innerHTML = s;
78
+
79
+ //次の問題を表示
80
+ count++;
81
+ if (count < qa.length) {
82
+ quiz();
83
+ } else {
84
+ //終了
85
+ s = "<table border='2'><caption>成績発表</caption>";
86
+ //1行目
87
+ s += "<tr><th>問題</th>";
88
+ for (n=0;n<qa.length;n++) {
89
+ s += "<th>" + (n+1) + "</th>";
90
+ }
91
+ s += "</tr>";
92
+ //2行目
93
+ s += "<tr><th>成績</th>";
94
+ for (n=0;n<qa.length;n++) {
95
+ s += "<td>" + ansers[n] + "</td>";
96
+ }
97
+ s += "</tr>";
98
+ s += "</table>";
99
+ document.getElementById("text_q").innerHTML = s;
100
+ //次の選択肢
101
+ s = "【<a href='javascript:history.back()'>前のページに戻る</a>】";
102
+ s += "【<a href='javascript:setReady()'>同じ問題を最初から</a>】";
103
+ s += "【<a href=''>次の問題に進む</a>】";
104
+ document.getElementById("text_s").innerHTML = s;
105
+ }
106
+ }
107
+ </script>
108
+ </body>
109
+ </html>
110
+ ```
111
+ ### 試したこと
112
+ ダブルクオーテーションをクオーテーションにしたりした。
113
+ ### 補足情報(FW/ツールのバージョンなど)
114
+ もっと前後のコードを書く必要がある場合言ってください。

4

都合上、コード、日本語等を中略しました、質問内容は、質疑応答をご参考下さい。

2021/05/20 05:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,131 +1,1 @@
1
- ### 前提・実現したいこと
2
-
3
- 記述式一応の完成を見たが、コードをスマートにしたい、具体的には、
4
- document.a1.answer.valueの値が入っているかどうかで分岐させたいが、
5
- if (!empty(document.a1.answer.value)) {
6
- がなぜかできない。
7
-
8
- 提示したソース(選択式)を記述式にする事には成功した。
9
-
10
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
11
-
12
- ### 発生している問題・エラーメッセージ
13
-
14
- ```
15
- エラーもしくは思うように動かない。
16
- ```
17
-
18
- ### 該当のソースコード
19
-
20
- ```javascript
21
- <!DOCTYPE HTML>
22
- <html>
23
- <head>
24
- <meta charset="utf-8">
1
+ 都合上、コード、日本語等を中略しました、質問内容は、質疑応答をご参考下さい。
25
- <title>三択クイズ</title>
26
- </head>
27
- <body>
28
- <h1>三択クイズ</h1>
29
- <hr>
30
- <h2>問題</h2>
31
- <div id="text_q"></div>
32
- <h2>選択</h2>
33
- <div id="text_s"></div>
34
- <h2>解答</h2>
35
- <div id="text_a"></div>
36
-
37
- <script type="text/javascript">
38
- //問題と解答
39
- qa = new Array();
40
- qa[0] = ["イルカを漢字で書くとどれ?","海豚","海牛","河豚",1];
41
- qa[1] = ["クラゲを漢字で書くとどれ?","水浮","水母","水星",2];
42
- qa[2] = ["カタツムリを漢字で書くとどれ?","禍牛","鍋牛","蝸牛",3];
43
- qa[3] = ["バッタを漢字で書くとどれ?","飛蝗","飛蟻","飛脚",1];
44
- qa[4] = ["タツノオトシゴを英語にするとどれ?","sea fish","sea horse","sea dragon",2];
45
- qa[5] = ["マグロを英語にするとどれ?","funa","suna","tuna",3];
46
- qa[6] = ["トンボを英語にするとどれ?","fly","dragonfly","butterfly",2];
47
- qa[7] = ["ヒトデを英語にするとどれ?","starfish","starshell","starmine",1];
48
- qa[8] = ["恒星の中で最も明るい星は?","デネブ","スピカ","シリウス",3];
49
- qa[9] = ["惑星の中で最も重たいのはどれ?","太陽","木星","天王星",2];
50
-
51
- //初期設定
52
- q_sel = 3; //選択肢の数
53
-
54
- setReady();
55
-
56
- //初期設定
57
- function setReady() {
58
- count = 0; //問題番号
59
- ansers = new Array(); //解答記録
60
-
61
- //最初の問題
62
- quiz();
63
- }
64
-
65
- //問題表示
66
- function quiz() {
67
- var s, n;
68
- //問題
69
- document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[count][0];
70
- //選択肢
71
- s = "";
72
- for (n=1;n<=q_sel;n++) {
73
- s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[count][n] + "</a>】";
74
- }
75
- document.getElementById("text_s").innerHTML = s;
76
- }
77
-
78
- //解答表示
79
- function anser(num) {
80
- var s;
81
- s = (count + 1) + "問目:";
82
- //答え合わせ
83
- if (num == qa[count][q_sel + 1]) {
84
- //正解
85
- ansers[count] = "○";
86
- } else {
87
- ansers[count] = "×";
88
- }
89
- s += ansers[count] + qa[count][num];
90
- document.getElementById("text_a").innerHTML = s;
91
-
92
- //次の問題を表示
93
- count++;
94
- if (count < qa.length) {
95
- quiz();
96
- } else {
97
- //終了
98
- s = "<table border='2'><caption>成績発表</caption>";
99
- //1行目
100
- s += "<tr><th>問題</th>";
101
- for (n=0;n<qa.length;n++) {
102
- s += "<th>" + (n+1) + "</th>";
103
- }
104
- s += "</tr>";
105
- //2行目
106
- s += "<tr><th>成績</th>";
107
- for (n=0;n<qa.length;n++) {
108
- s += "<td>" + ansers[n] + "</td>";
109
- }
110
- s += "</tr>";
111
- s += "</table>";
112
- document.getElementById("text_q").innerHTML = s;
113
- //次の選択肢
114
- s = "【<a href='javascript:history.back()'>前のページに戻る</a>】";
115
- s += "【<a href='javascript:setReady()'>同じ問題を最初から</a>】";
116
- s += "【<a href=''>次の問題に進む</a>】";
117
- document.getElementById("text_s").innerHTML = s;
118
- }
119
- }
120
- </script>
121
- </body>
122
- </html>
123
- ```
124
-
125
- ### 試したこと
126
-
127
- ダブルクオーテーションをクオーテーションにしたりした。
128
-
129
- ### 補足情報(FW/ツールのバージョンなど)
130
-
131
- もっと前後のコードを書く必要がある場合言ってください。

3

進捗があったため。

2021/05/20 00:11

投稿

nasamunag
nasamunag

スコア32

title CHANGED
File without changes
body CHANGED
@@ -1,41 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ 記述式一応の完成を見たが、コードをスマートにしたい、具体的には、
4
+ document.a1.answer.valueの値が入っているかどうかで分岐させたいが、
3
- 入力された値を関数anserの引数に持たせてanserを実行したいのですが、
5
+ if (!empty(document.a1.answer.value)) {
4
- やり方よく分りません
6
+ なぜできない
5
7
 
6
- 提示したソースの、
7
- //問題表示
8
- function quiz() {
9
- var s, n;
10
- //問題
11
- document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[count][0];
12
- //選択肢
13
- s = "";
14
- for (n=1;n<=q_sel;n++) {
15
- if (qa[count][n] != "") {
16
- s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[count][n] + "</a>】";
17
- }
18
- }
19
- document.getElementById("text_s").innerHTML = s;
20
- }
21
- この部分を改良したいのです。これは選択式の問題ですので、if文で、選択式は選択処理に、
22
- 記述式は記述処理に飛ばそうとして、記述式では、この選択処理の部分を
23
- s += "<FORM name="a1"><font size='2' color='#ff0000'></font><INPUT type='text' name='answer'><INPUT type='button' value='回答する' onClick='anser()'>"; }
24
- document.getElementById("text_s").innerHTML = s;
25
- に変えました、これで一応フォ表示されましたが、
8
+ 提示したス(選択式)を記述式にする事に成功した
26
- //解答表示
27
- function anser(num) {
28
- var s;
29
- s = "設問" + (count + 1) + ":";
30
- //答え合わせ
31
- ansers[count] = qa[count][num+q_sel];
32
- s = qa[count][num] + "(" + qa[count][num+q_sel] + "点)";
33
- document.getElementById("text_a").innerHTML = s;
34
- この部分、numに、記述式で入力した値を入力できれば後はうまく進むのですが、それがなぜかできません。
35
9
 
36
- 一応、フォームに入力→送信→anser関数実行までは行われますが、
37
- データの中身が送信できていないので「×」になります。データの中身をnumに入力できれば解決しそうなのですが。
38
-
39
10
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
40
11
 
41
12
  ### 発生している問題・エラーメッセージ

2

説明追加。

2020/04/11 03:53

投稿

nasamunag
nasamunag

スコア32

title CHANGED
File without changes
body CHANGED
@@ -33,6 +33,9 @@
33
33
  document.getElementById("text_a").innerHTML = s;
34
34
  この部分、numに、記述式で入力した値を入力できれば後はうまく進むのですが、それがなぜかできません。
35
35
 
36
+ 一応、フォームに入力→送信→anser関数実行までは行われますが、
37
+ データの中身が送信できていないので「×」になります。データの中身をnumに入力できれば解決しそうなのですが。
38
+
36
39
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
37
40
 
38
41
  ### 発生している問題・エラーメッセージ

1

元のソース全体を載せました。

2020/04/10 08:09

投稿

nasamunag
nasamunag

スコア32

title CHANGED
File without changes
body CHANGED
@@ -2,11 +2,37 @@
2
2
 
3
3
  入力された値を関数anserの引数に持たせてanserを実行したいのですが、
4
4
  やり方がよく分かりません。
5
- document.a1.answer.valueが入力値になるようなのですが、
6
- <INPUT type='button' value='回答する' onClick='document.a1.answer.value'>
7
- としてもうまくいきません。
8
- sの中に入っているため書き方に問題があるのでしょうか、どうすれば引き数に持たせられるのでしょうか。
9
5
 
6
+ 提示したソースの、
7
+ //問題表示
8
+ function quiz() {
9
+ var s, n;
10
+ //問題
11
+ document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[count][0];
12
+ //選択肢
13
+ s = "";
14
+ for (n=1;n<=q_sel;n++) {
15
+ if (qa[count][n] != "") {
16
+ s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[count][n] + "</a>】";
17
+ }
18
+ }
19
+ document.getElementById("text_s").innerHTML = s;
20
+ }
21
+ この部分を改良したいのです。これは選択式の問題ですので、if文で、選択式は選択処理に、
22
+ 記述式は記述処理に飛ばそうとして、記述式では、この選択処理の部分を
23
+ s += "<FORM name="a1"><font size='2' color='#ff0000'></font><INPUT type='text' name='answer'><INPUT type='button' value='回答する' onClick='anser()'>"; }
24
+ document.getElementById("text_s").innerHTML = s;
25
+ に変えました、これで一応フォームは表示されましたが、
26
+ //解答表示
27
+ function anser(num) {
28
+ var s;
29
+ s = "設問" + (count + 1) + ":";
30
+ //答え合わせ
31
+ ansers[count] = qa[count][num+q_sel];
32
+ s = qa[count][num] + "(" + qa[count][num+q_sel] + "点)";
33
+ document.getElementById("text_a").innerHTML = s;
34
+ この部分、numに、記述式で入力した値を入力できれば後はうまく進むのですが、それがなぜかできません。
35
+
10
36
  ■■な機能を実装中に以下のエラーメッセージが発生しました。
11
37
 
12
38
  ### 発生している問題・エラーメッセージ
@@ -18,11 +44,108 @@
18
44
  ### 該当のソースコード
19
45
 
20
46
  ```javascript
47
+ <!DOCTYPE HTML>
48
+ <html>
49
+ <head>
50
+ <meta charset="utf-8">
51
+ <title>三択クイズ</title>
52
+ </head>
53
+ <body>
54
+ <h1>三択クイズ</h1>
55
+ <hr>
56
+ <h2>問題</h2>
21
- s += "<FORM name="a1"><font size='2' color='#ff0000'></font><INPUT type='text' name='answer'><INPUT
57
+ <div id="text_q"></div>
58
+ <h2>選択</h2>
59
+ <div id="text_s"></div>
60
+ <h2>解答</h2>
61
+ <div id="text_a"></div>
22
62
 
63
+ <script type="text/javascript">
64
+ //問題と解答
65
+ qa = new Array();
66
+ qa[0] = ["イルカを漢字で書くとどれ?","海豚","海牛","河豚",1];
67
+ qa[1] = ["クラゲを漢字で書くとどれ?","水浮","水母","水星",2];
68
+ qa[2] = ["カタツムリを漢字で書くとどれ?","禍牛","鍋牛","蝸牛",3];
69
+ qa[3] = ["バッタを漢字で書くとどれ?","飛蝗","飛蟻","飛脚",1];
70
+ qa[4] = ["タツノオトシゴを英語にするとどれ?","sea fish","sea horse","sea dragon",2];
23
- type='button' value='回答する' onClick='anser()'>";
71
+ qa[5] = ["マグロを英語にするとどれ?","funa","suna","tuna",3];
72
+ qa[6] = ["トンボを英語にするとどれ?","fly","dragonfly","butterfly",2];
73
+ qa[7] = ["ヒトデを英語にするとどれ?","starfish","starshell","starmine",1];
74
+ qa[8] = ["恒星の中で最も明るい星は?","デネブ","スピカ","シリウス",3];
75
+ qa[9] = ["惑星の中で最も重たいのはどれ?","太陽","木星","天王星",2];
76
+
77
+ //初期設定
78
+ q_sel = 3; //選択肢の数
79
+
80
+ setReady();
81
+
82
+ //初期設定
83
+ function setReady() {
84
+ count = 0; //問題番号
85
+ ansers = new Array(); //解答記録
86
+
87
+ //最初の問題
88
+ quiz();
24
- }
89
+ }
90
+
91
+ //問題表示
92
+ function quiz() {
93
+ var s, n;
94
+ //問題
95
+ document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[count][0];
96
+ //選択肢
97
+ s = "";
98
+ for (n=1;n<=q_sel;n++) {
99
+ s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[count][n] + "</a>】";
100
+ }
25
- document.getElementById("text_s").innerHTML = s;
101
+ document.getElementById("text_s").innerHTML = s;
102
+ }
103
+
104
+ //解答表示
105
+ function anser(num) {
106
+ var s;
107
+ s = (count + 1) + "問目:";
108
+ //答え合わせ
109
+ if (num == qa[count][q_sel + 1]) {
110
+ //正解
111
+ ansers[count] = "○";
112
+ } else {
113
+ ansers[count] = "×";
114
+ }
115
+ s += ansers[count] + qa[count][num];
116
+ document.getElementById("text_a").innerHTML = s;
117
+
118
+ //次の問題を表示
119
+ count++;
120
+ if (count < qa.length) {
121
+ quiz();
122
+ } else {
123
+ //終了
124
+ s = "<table border='2'><caption>成績発表</caption>";
125
+ //1行目
126
+ s += "<tr><th>問題</th>";
127
+ for (n=0;n<qa.length;n++) {
128
+ s += "<th>" + (n+1) + "</th>";
129
+ }
130
+ s += "</tr>";
131
+ //2行目
132
+ s += "<tr><th>成績</th>";
133
+ for (n=0;n<qa.length;n++) {
134
+ s += "<td>" + ansers[n] + "</td>";
135
+ }
136
+ s += "</tr>";
137
+ s += "</table>";
138
+ document.getElementById("text_q").innerHTML = s;
139
+ //次の選択肢
140
+ s = "【<a href='javascript:history.back()'>前のページに戻る</a>】";
141
+ s += "【<a href='javascript:setReady()'>同じ問題を最初から</a>】";
142
+ s += "【<a href=''>次の問題に進む</a>】";
143
+ document.getElementById("text_s").innerHTML = s;
144
+ }
145
+ }
146
+ </script>
147
+ </body>
148
+ </html>
26
149
  ```
27
150
 
28
151
  ### 試したこと