質問編集履歴
2
いろんな人のアドバイスを元に完成したものを追記しました。自己かいけつではないので、こちらに記載しています。
test
CHANGED
File without changes
|
test
CHANGED
@@ -239,3 +239,119 @@
|
|
239
239
|
なんでもいただけたら嬉しいです。
|
240
240
|
|
241
241
|
よろしくお願いします。
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
### 追記
|
246
|
+
|
247
|
+
皆様のアドバイスを元に完成したものを一応記載します。
|
248
|
+
|
249
|
+
disabledの付け外しが少し苦戦したのでどなたかの参考になれば幸いです。
|
250
|
+
|
251
|
+
(もっと効率いい書き方はあると思いますが・・)
|
252
|
+
|
253
|
+
forEach文は勉強中のためfor文で。
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
```javascript
|
258
|
+
|
259
|
+
let hiddenAdd;
|
260
|
+
|
261
|
+
let hiddenRemove;
|
262
|
+
|
263
|
+
//属性を追加
|
264
|
+
|
265
|
+
const hiddenAddFunc = (hiddenAdd) => {
|
266
|
+
|
267
|
+
for(let i = 0;i < hiddenAdd.length;i++) {
|
268
|
+
|
269
|
+
hiddenAdd[i].setAttribute('disabled','disabled');
|
270
|
+
|
271
|
+
}
|
272
|
+
|
273
|
+
}
|
274
|
+
|
275
|
+
//属性を削除
|
276
|
+
|
277
|
+
const hiddenRemoveFunc = (hiddenRemove) => {
|
278
|
+
|
279
|
+
for(let i = 0;i < hiddenRemove.length;i++) {
|
280
|
+
|
281
|
+
hiddenRemove[i].removeAttribute('disabled');
|
282
|
+
|
283
|
+
}
|
284
|
+
|
285
|
+
}
|
286
|
+
|
287
|
+
//判定文
|
288
|
+
|
289
|
+
let flag = 0;
|
290
|
+
|
291
|
+
const hantei = (flag) => {
|
292
|
+
|
293
|
+
if(flag === 1) {
|
294
|
+
|
295
|
+
let hiddenAdd = telArea.querySelectorAll('input');
|
296
|
+
|
297
|
+
let hiddenRemove = mailArea.querySelectorAll('input');
|
298
|
+
|
299
|
+
hiddenAddFunc(hiddenAdd);
|
300
|
+
|
301
|
+
hiddenRemoveFunc(hiddenRemove);
|
302
|
+
|
303
|
+
} else if(flag === 2) {
|
304
|
+
|
305
|
+
let hiddenAdd = mailArea.querySelectorAll('input');
|
306
|
+
|
307
|
+
let hiddenRemove = telArea.querySelectorAll('input');
|
308
|
+
|
309
|
+
hiddenAddFunc(hiddenAdd);
|
310
|
+
|
311
|
+
hiddenRemoveFunc(hiddenRemove);
|
312
|
+
|
313
|
+
}
|
314
|
+
|
315
|
+
}
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
const output = () => {
|
320
|
+
|
321
|
+
for(let i = 0;i < radios.length;i++) {
|
322
|
+
|
323
|
+
if(radios[i].checked) {
|
324
|
+
|
325
|
+
result = radios[i].value;
|
326
|
+
|
327
|
+
if(result === 'メール') {
|
328
|
+
|
329
|
+
mailArea.classList.remove('is-hidden');
|
330
|
+
|
331
|
+
telArea.classList.add('is-hidden');
|
332
|
+
|
333
|
+
let flag = 1;
|
334
|
+
|
335
|
+
hantei(flag);
|
336
|
+
|
337
|
+
} else {
|
338
|
+
|
339
|
+
telArea.classList.remove('is-hidden');
|
340
|
+
|
341
|
+
mailArea.classList.add('is-hidden');
|
342
|
+
|
343
|
+
let flag = 2;
|
344
|
+
|
345
|
+
hantei(flag);
|
346
|
+
|
347
|
+
}
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
}
|
352
|
+
|
353
|
+
}
|
354
|
+
|
355
|
+
}
|
356
|
+
|
357
|
+
```
|
1
('.requireMail[name="require[]"]')に修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
const value = targets.getAttribute(name);
|
152
152
|
|
153
|
-
const elm = document.querySelectorAll('.requireMail
|
153
|
+
const elm = document.querySelectorAll('.requireMail[name="require[]"]');//設定はしているものの使い方がわからない
|
154
154
|
|
155
155
|
|
156
156
|
|