質問編集履歴

2

いろんな人のアドバイスを元に完成したものを追記しました。自己かいけつではないので、こちらに記載しています。

2019/06/16 06:03

投稿

kitty
kitty

スコア15

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[]"]')に修正

2019/06/16 06:03

投稿

kitty
kitty

スコア15

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 input[name="require[]"]');//設定はしているものの使い方がわからない
153
+ const elm = document.querySelectorAll('.requireMail[name="require[]"]');//設定はしているものの使い方がわからない
154
154
 
155
155
 
156
156