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

質問編集履歴

2

文法修正

2020/03/04 13:24

投稿

tensai
tensai

スコア8

title CHANGED
File without changes
body CHANGED
@@ -3,158 +3,4 @@
3
3
  一つ目はfor文で複数のidを取得し、コードを短くしたい。
4
4
  二つ目はそのidを使ってif文で使いたい。
5
5
  色々試しましたが、出力結果がundefinedばかり出ます。
6
- どなたかわかる方がいらっしゃいましたらご教示お願いします。
7
-
8
- ↓↓↓↓↓↓変更前↓↓↓↓↓↓↓
9
- ```Javascript
10
- function wupBtn() {
11
- var num1 = document.myFormPer.elements[0].value;
12
- var num2 = document.myFormPer.elements[1].value;
13
- var num3 = document.myFormPer.elements[2].value;
14
- var num4 = document.myFormPer.elements[3].value;
15
- var num5 = document.myFormPer.elements[4].value;
16
- var num6 = document.myFormPer.elements[5].value;
17
- var num7 = document.myFormPer.elements[6].value;
18
- var num8 = document.myFormPer.elements[7].value;
19
- var num9 = document.myFormPer.elements[8].value;
20
- var num10 = document.myFormPer.elements[9].value;
21
- var user1 = num1.replace(/^[0-9]$/,"x") !== "x"
22
- var user2 = num2.replace(/^[0-9]$/,"x") !== "x"
23
- var user3 = num3.replace(/^[0-9]$/,"x") !== "x"
24
- var user4 = num4.replace(/^[0-9]$/,"x") !== "x"
25
- var user5 = num5.replace(/^[0-9]$/,"x") !== "x"
26
- var user6 = num6.replace(/^[0-9]$/,"x") !== "x"
27
- var user7 = num7.replace(/^[0-9]$/,"x") !== "x"
28
- var user8 = num8.replace(/^[0-9]$/,"x") !== "x"
29
- var user9 = num9.replace(/^[0-9]$/,"x") !== "x"
30
- var user10 = num10.replace(/^[0-9]$/,"x") !== "x"
31
-
32
- if(num1 == "" || num2 == "" || num3 == "" || num4 == "" || num5 == "" ||
33
- num6 == "" || num7 == "" || num8 == "" || num9 == "" || num10 == ""){
34
- document.myFormPer.elements[10].disabled = true;
35
- }else if(user1 || user2 || user3 || user4 || user5 || user6 || user7 || user8 || user9 || user10){
36
- document.myFormPer.elements[10].disabled = true;
37
- }else{
38
- document.myFormPer.elements[10].disabled = false;
39
- }
40
- }
41
-
42
- var users1 = document.getElementById('user1')
43
- users1.addEventListener('blur',check);
44
- var users2 = document.getElementById('user2')
45
- users2.addEventListener('blur',check);
46
- var users3 = document.getElementById('user3')
47
- users3.addEventListener('blur',check);
48
- var users4 = document.getElementById('user4')
49
- users4.addEventListener('blur',check);
50
- var users5 = document.getElementById('user5')
51
- users5.addEventListener('blur',check);
52
- var users6 = document.getElementById('user6')
53
- users6.addEventListener('blur',check);
54
- var users7 = document.getElementById('user7')
55
- users7.addEventListener('blur',check);
56
- var users8 = document.getElementById('user8')
57
- users8.addEventListener('blur',check);
58
- var users9 = document.getElementById('user9')
59
- users9.addEventListener('blur',check);
60
- var users10 = document.getElementById('user10')
61
- users10.addEventListener('blur',check);
62
-
63
- function check(){
64
- var num1 = users1.value;
65
- var num2 = users2.value;
66
- var num3 = users3.value;
67
- var num4 = users4.value;
68
- var num5 = users5.value;
69
- var num6 = users6.value;
70
- var num7 = users7.value;
71
- var num8 = users8.value;
72
- var num9 = users9.value;
73
- var num10 = users10.value;
74
- var user1 = num1.replace(/^[0-9]$/,"x") !== "x"
75
- var user2 = num2.replace(/^[0-9]$/,"x") !== "x"
76
- var user3 = num3.replace(/^[0-9]$/,"x") !== "x"
77
- var user4 = num4.replace(/^[0-9]$/,"x") !== "x"
78
- var user5 = num5.replace(/^[0-9]$/,"x") !== "x"
79
- var user6 = num6.replace(/^[0-9]$/,"x") !== "x"
80
- var user7 = num7.replace(/^[0-9]$/,"x") !== "x"
81
- var user8 = num8.replace(/^[0-9]$/,"x") !== "x"
82
- var user9 = num9.replace(/^[0-9]$/,"x") !== "x"
83
- var user10 = num10.replace(/^[0-9]$/,"x") !== "x"
84
- if (user1 || user2 || user3 || user4 || user5 || user6 || user7 || user8 || user9 || user10){
85
- error.style.color = "red";
86
- error.innerHTML = "エラー";
87
- } else {
88
- error.innerHTML = "";
89
- }
90
- }
91
- ```
92
-
93
-
94
-
95
- wupBtnとcheckが同じinputでやろうとしていたので一つにまとめようと試みました。
96
- 現段階がこちらです
97
- ↓↓↓↓↓↓変更後↓↓↓↓↓↓↓
98
- ```javascript
99
- function wupBtn(){
100
- num = []
101
- for(var i = 0; i < 11; i++) {
102
- num[i] = document.myFormPer.elements[i].value;
103
- }
104
- user = []
105
- for(var j = 0; j < 11; j++) {
106
- user[j] = (num+i).replace(/^[0-9]$/)
107
- }
108
-
109
- if (user1.value === "" || user2.value === "" || user3.value === "" || user4.value === "" || user5.value === "" || user6.value === "" || user7.value === "" || user8.value === "" || user9.value === "" || user10.value === ""){
110
- document.myFormPer.elements[10].disabled = true;
111
- error.style.color = "red";
112
- error.innerHTML = "エラー";
113
- } else {
114
- error.innerHTML = "";
115
- document.myFormPer.elements[10].disabled = false;
116
- }
117
- }
118
- ```
119
- user1.value === "" || user2.value === "" || user3.value === "" || user4.value === "" || user5.value === "" || user6.value === "" || user7.value === "" || user8.value === "" || user9.value === "" || user10.value === ""
120
- ここを短くしたい。
121
- あと、入力された値をチェックしたい
122
-
123
-
124
- htmlは共通です
125
- ```html
126
- <FORM name="myFormPer">
127
- <input type="text" id="user1" maxlength="1" onchange="wupBtn()">
128
- <input type="text" id="user2" maxlength="1" onchange="wupBtn()">
129
- <input type="text" id="user3" maxlength="1" onchange="wupBtn()">
130
- <input type="text" id="user4" maxlength="1" onchange="wupBtn()">
131
- <input type="text" id="user5" maxlength="1" onchange="wupBtn()">
132
- <input type="text" id="user6" maxlength="1" onchange="wupBtn()">
133
- <input type="text" id="user7" maxlength="1" onchange="wupBtn()">
134
- <input type="text" id="user8" maxlength="1" onchange="wupBtn()">
135
- <input type="text" id="user9" maxlength="1" onchange="wupBtn()">
136
- <input type="text" id="user10" maxlength="1" onchange="wupBtn()">
137
- <div id=error></div>
138
- <input type="button" value="結果" id="button" disabled><br>
139
- <br>
140
- <div id="USER"></div>
141
- <div id="COM"></div>
142
- <div type="text" id="com1"></div>
143
- <div type="text" id="com2"></div>
144
- <div type="text" id="com3"></div>
145
- <div type="text" id="com4"></div>
146
- <div type="text" id="com5"></div>
147
- <div type="text" id="com6"></div>
148
- <div type="text" id="com7"></div>
149
- <div type="text" id="com8"></div>
150
- <div type="text" id="com9"></div>
151
- <div type="text" id="com10"></div>
152
- <br>
153
- <div type="text" id="result"></div>
154
- </FORM>
155
- ```
156
-
157
- 今の状態だとnum=[]からif前までは意味がない状態です。
158
- 10個のinputに入力した時に正規表現でチェックをし、かつ空白でない時にdisabled属性を解除できるようにしたいです。。
159
-
160
- 説明が足りない場合は質問よろしくお願いします
6
+ どなたかわかる方がいらっしゃいましたらご教示お願いします。

1

編集しました

2020/03/04 13:24

投稿

tensai
tensai

スコア8

title CHANGED
File without changes
body CHANGED
@@ -116,7 +116,11 @@
116
116
  }
117
117
  }
118
118
  ```
119
+ user1.value === "" || user2.value === "" || user3.value === "" || user4.value === "" || user5.value === "" || user6.value === "" || user7.value === "" || user8.value === "" || user9.value === "" || user10.value === ""
120
+ ここを短くしたい。
121
+ あと、入力された値をチェックしたい
119
122
 
123
+
120
124
  htmlは共通です
121
125
  ```html
122
126
  <FORM name="myFormPer">