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

質問編集履歴

2

内容修正

2020/04/08 03:20

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -57,19 +57,13 @@
57
57
  var aElems = document.getElementsByClassName("a")
58
58
  var bElems = document.getElementsByClassName("b")
59
59
  if (isChecked) {
60
- for(var i=0; i<aElems.length; i+=1){
61
- aElems[i].style.display = ""
60
+ aElems[0].style.display = ""
61
+ bElems[0].style.display = "none"
62
62
  }
63
- for(var i=0; i<bElems.length; i+=1){
64
- bElems[i].style.display = "none"
65
- }
66
63
  }else {
67
- for(var i=0; i<aElems.length; i+=1){
68
- aElems[i].style.display = "none"
64
+ aElems[0].style.display = "none"
69
- }
70
- for(var i=0; i<bElems.length; i+=1){
71
- bElems[i].style.display = ""
65
+ bElems[0].style.display = ""
72
- }
66
+
73
67
  }
74
68
  }
75
69
  </script>
@@ -93,4 +87,11 @@
93
87
  <td><input type="text" required/></td>
94
88
  </tr>
95
89
  ```
96
- ラジオボタンをイベントハンドラとして、Aを選択したときには必須項目のBのテーブルレコードを消し去りたいのですが他に方法はないでしょうか?
90
+ ラジオボタンをイベントハンドラとして、Aを選択したときには必須項目のBのテーブルレコードを消し去りたいのですが他に方法はないでしょうか?
91
+
92
+
93
+ ### 補足(縛り)
94
+ 応急処置として、jsのif処理の最後に
95
+ bElems[0].children[1].children[0].value="null"(Aが選択された場合)
96
+ bElems[0].children[1].children[0].value=""(Bが選択された場合)
97
+ みたいに文字列を入れてごまかすことはできますが、これだとAを選択して送信した場合、form先にBのvalueに"null"が入って送られてしまうので避けたいです。

1

文法誤植

2020/04/08 03:20

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  htmlでrequired属性のついたinputタグをJSで制御したいのですが、良い方法を教えてください。
2
2
 
3
3
  ### やりたいこと
4
- 以下の入力フォーム(テーブルで整えています。)があり、ラジオボタン(A,B)より選択したフォームのみ表示したいです。注意点として入力欄Bのタグにはrequired属性のあるタグがあり、入力しないとフォームできないようにしています。
4
+ 以下の入力フォーム(テーブルで整えています。)があり、ラジオボタン(A,B)より選択したフォームのみ表示したいです。注意点として入力欄Bのタグにはrequired属性のあるタグがあり、入力しないと送信できないようにしています。
5
5
 
6
6
  ```html
7
7
  <!DOCTYPE html>
@@ -47,7 +47,7 @@
47
47
 
48
48
 
49
49
  ### 実装
50
- いまのところdisplayによる表示切替制御を考えましたが、これだとブラウザで表示されないだけで、見えてなくても裏でrequiredが有効になっているみたいでした。結局入力しないといけないみたいなんで詰んでます。
50
+ いまのところdisplayによる表示切替制御を考えましたが、これだとブラウザで表示されないだけで、見えてなくても裏でrequiredが有効になっているみたいでした。結局表面上Aを選択したところで、Bにも入力していないといけないみたいなんで詰んでます。
51
51
  以下、上記の変更箇所だけ記述
52
52
  ```html
53
53
  // javascript