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

質問編集履歴

2

訂正

2016/11/09 09:16

投稿

ojgtmaga
ojgtmaga

スコア12

title CHANGED
File without changes
body CHANGED
@@ -86,7 +86,7 @@
86
86
  digitElements[i].onclick = function() {
87
87
  // アラビア数字に変換
88
88
  var digit = zeroToNine.indexOf(this.id) + '';
89
- kotae.value += digit; //一つ目の数値
89
+ kotae.value = digit; //一つ目の数値
90
90
  };
91
91
  }
92
92
  for (var i = 0; i <= 9; i++) {
@@ -94,7 +94,7 @@
94
94
  digitElements[i].onclick = function() {
95
95
  // アラビア数字に変換
96
96
  var digit2 = zeroToNine.indexOf(this.id) + '';
97
- kotae.value += digit2; //2つ目の数値
97
+ kotae.value = digit2; //2つ目の数値
98
98
  };
99
99
  }
100
100
 

1

編集

2016/11/09 09:16

投稿

ojgtmaga
ojgtmaga

スコア12

title CHANGED
File without changes
body CHANGED
@@ -66,4 +66,36 @@
66
66
  のようにやるのかと考え、htmlを開いてみたら、押しても反応しませんでした。このような方法では、テキストボックス上に表示できないのでしょうか?
67
67
  また、このようなイベントハンドラを設定する際に、1~9の数字一つ一つ繰り返し入力しなければならないのでしょうか?1~9の数字全てに共通するイベントハンドラ(1~9の数字をクリックしたら、テキストボックス上にその数字を表示)を作成できないのかが知りたかったため、質問させていただきます。
68
68
  まずは1桁の計算ができるようになりたいので、12とか32などの数字が入力されることは考えていません。
69
- 分かる方がいらっしゃいましたら、ご教示お願いします。
69
+ 分かる方がいらっしゃいましたら、ご教示お願いします。
70
+
71
+ 追記
72
+ ---
73
+ ```javascript
74
+ var kotae = document.getElementById('ans');
75
+ var zeroToNine = ["zero", "one", "two", "three", "four",
76
+ "five", "six", "seven", "eight", "nine"];
77
+ var digitElements = new Array(10);
78
+ var tasu = document.getElementById('plus');
79
+ var hiku = document.getElementById('minus');
80
+ var kakeru = document.getElementById('mul');
81
+ var waru = document.getElementById('div');
82
+ var ikoru = document.getElementById('equ');
83
+
84
+ for (var i = 0; i <= 9; i++) {
85
+ digitElements[i] = document.getElementById(zeroToNine[i]);
86
+ digitElements[i].onclick = function() {
87
+ // アラビア数字に変換
88
+ var digit = zeroToNine.indexOf(this.id) + '';
89
+ kotae.value += digit; //一つ目の数値
90
+ };
91
+ }
92
+ for (var i = 0; i <= 9; i++) {
93
+ digitElements[i] = document.getElementById(zeroToNine[i]);
94
+ digitElements[i].onclick = function() {
95
+ // アラビア数字に変換
96
+ var digit2 = zeroToNine.indexOf(this.id) + '';
97
+ kotae.value += digit2; //2つ目の数値
98
+ };
99
+ }
100
+
101
+ ```