質問編集履歴

1

当該のソースコードの追加

2017/08/02 03:33

投稿

dragon_taro
dragon_taro

スコア12

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  ```javascript
18
18
 
19
- document.querySelectorAll( ":invalid" )
19
+ document.querySelectorAll( ":invalid" )
20
20
 
21
21
  document.querySelectorAll( ":required" )
22
22
 
@@ -31,3 +31,127 @@
31
31
  ###回答していただきたいこと
32
32
 
33
33
  フロントはreactで開発されてはいるのですが、stateの設計上react側での処理は厳しそうです。(もちろんstateで管理できるに越したことはなっかたのですが、、、)ですので、生のjsでの処理かjqueryでの処理を教えていただけると幸いです。よろしくお願いします。最悪、validaition項目が全部埋められているかどうかの判定だけでも大丈夫です。
34
+
35
+
36
+
37
+ ---
38
+
39
+ 追記です
40
+
41
+
42
+
43
+ ###当該のコード
44
+
45
+ ```javascript
46
+
47
+ <Trow for='charitable_gifts' need_columns={need_columns}>
48
+
49
+ <th>
50
+
51
+ <h3>{getItemName(this.state.kind, 'charitable_gifts')}</h3>
52
+
53
+ <span className='p_required isTrue'>必須</span>
54
+
55
+ </th>
56
+
57
+ <td>
58
+
59
+ <CheckBoxList
60
+
61
+ name='charitable_gift_ids'
62
+
63
+ items={items.charitable_gifts}
64
+
65
+ checked_item_values={this.state.charitable_gift_ids}
66
+
67
+ onChangeValue={this.handleChangeValue}
68
+
69
+ required={true}
70
+
71
+ />
72
+
73
+ </td>
74
+
75
+ </Trow>
76
+
77
+ ...
78
+
79
+ // checkboxlistは
80
+
81
+ <label className={`${this.props.name}_${this.props.value}`}>
82
+
83
+ <input
84
+
85
+ className={this.props.className || ''}
86
+
87
+ id={this.props.id_name || ''
88
+
89
+ type='checkbox'
90
+
91
+ name={this.props.name}
92
+
93
+ value={this.props.value}
94
+
95
+ checked={this.state.checked}
96
+
97
+ disabled={this.props.disabled}
98
+
99
+ onChange={this.handleChange}
100
+
101
+ required={this.props.required || false}
102
+
103
+ />
104
+
105
+ {this.props.label}
106
+
107
+ </label>
108
+
109
+ // というコンポーネントをmapでlist化したコンポーネントです。
110
+
111
+ ```
112
+
113
+ このようなformが大量にありこのformでも先ほどのようなエラーが出ます。
114
+
115
+ ```javascript
116
+
117
+ export class PostManager extends React.Component {
118
+
119
+ ...
120
+
121
+ componentWillReceiveProps(nextProps){
122
+
123
+ ...
124
+
125
+ var count = $(':required :invalid').length; // ここでsyntaxエラー
126
+
127
+ // :requiredと:invalidの間のスペースがないとそもそもページが表示されない
128
+
129
+ ...
130
+
131
+ console.log(document.querySelectorAll( ":required" )); //上を消すとここでsyntaxエラー
132
+
133
+ console.log(document.querySelectorAll( ":invalid" ));
134
+
135
+ ...
136
+
137
+ }
138
+
139
+
140
+
141
+ render(){
142
+
143
+ ...
144
+
145
+ }
146
+
147
+ }
148
+
149
+ ```
150
+
151
+ このコンポンーネントは記事作成の送信を担っていて、ここでvalidationの判定のために要素を取得しようとしています。まだ関数化はしていないのですが要はこのメソッドを使いたいのでエラーは同じかと思われます。
152
+
153
+
154
+
155
+ ###開発環境
156
+
157
+ VirtualBoxでwin8.1のIE11を動かしています