質問編集履歴
2
いろんな人のアドバイスを元に完成したものを追記しました。自己かいけつではないので、こちらに記載しています。
title
CHANGED
File without changes
|
body
CHANGED
@@ -118,4 +118,62 @@
|
|
118
118
|
|
119
119
|
正直全くわからないので・・・何かヒントでも回答でも
|
120
120
|
なんでもいただけたら嬉しいです。
|
121
|
-
よろしくお願いします。
|
121
|
+
よろしくお願いします。
|
122
|
+
|
123
|
+
### 追記
|
124
|
+
皆様のアドバイスを元に完成したものを一応記載します。
|
125
|
+
disabledの付け外しが少し苦戦したのでどなたかの参考になれば幸いです。
|
126
|
+
(もっと効率いい書き方はあると思いますが・・)
|
127
|
+
forEach文は勉強中のためfor文で。
|
128
|
+
|
129
|
+
```javascript
|
130
|
+
let hiddenAdd;
|
131
|
+
let hiddenRemove;
|
132
|
+
//属性を追加
|
133
|
+
const hiddenAddFunc = (hiddenAdd) => {
|
134
|
+
for(let i = 0;i < hiddenAdd.length;i++) {
|
135
|
+
hiddenAdd[i].setAttribute('disabled','disabled');
|
136
|
+
}
|
137
|
+
}
|
138
|
+
//属性を削除
|
139
|
+
const hiddenRemoveFunc = (hiddenRemove) => {
|
140
|
+
for(let i = 0;i < hiddenRemove.length;i++) {
|
141
|
+
hiddenRemove[i].removeAttribute('disabled');
|
142
|
+
}
|
143
|
+
}
|
144
|
+
//判定文
|
145
|
+
let flag = 0;
|
146
|
+
const hantei = (flag) => {
|
147
|
+
if(flag === 1) {
|
148
|
+
let hiddenAdd = telArea.querySelectorAll('input');
|
149
|
+
let hiddenRemove = mailArea.querySelectorAll('input');
|
150
|
+
hiddenAddFunc(hiddenAdd);
|
151
|
+
hiddenRemoveFunc(hiddenRemove);
|
152
|
+
} else if(flag === 2) {
|
153
|
+
let hiddenAdd = mailArea.querySelectorAll('input');
|
154
|
+
let hiddenRemove = telArea.querySelectorAll('input');
|
155
|
+
hiddenAddFunc(hiddenAdd);
|
156
|
+
hiddenRemoveFunc(hiddenRemove);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
const output = () => {
|
161
|
+
for(let i = 0;i < radios.length;i++) {
|
162
|
+
if(radios[i].checked) {
|
163
|
+
result = radios[i].value;
|
164
|
+
if(result === 'メール') {
|
165
|
+
mailArea.classList.remove('is-hidden');
|
166
|
+
telArea.classList.add('is-hidden');
|
167
|
+
let flag = 1;
|
168
|
+
hantei(flag);
|
169
|
+
} else {
|
170
|
+
telArea.classList.remove('is-hidden');
|
171
|
+
mailArea.classList.add('is-hidden');
|
172
|
+
let flag = 2;
|
173
|
+
hantei(flag);
|
174
|
+
}
|
175
|
+
|
176
|
+
}
|
177
|
+
}
|
178
|
+
}
|
179
|
+
```
|
1
('.requireMail[name="require[]"]')に修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
const form = document.getElementById('formArea');
|
75
75
|
const targets = document.getElementById('requireMail');
|
76
76
|
const value = targets.getAttribute(name);
|
77
|
-
const elm = document.querySelectorAll('.requireMail
|
77
|
+
const elm = document.querySelectorAll('.requireMail[name="require[]"]');//設定はしているものの使い方がわからない
|
78
78
|
|
79
79
|
let result = null;
|
80
80
|
const radios = document.getElementsByName('ご希望の連絡方法');
|