質問編集履歴

2

a

2021/06/04 05:33

投稿

k49977
k49977

スコア27

test CHANGED
File without changes
test CHANGED
@@ -50,9 +50,9 @@
50
50
 
51
51
  すみません、うまくやりたいことの意図が伝えられていなかったかもしれません。
52
52
 
53
- 基本的にラジオボタンはmustで、送信されるvalue値としては2つ目も3つ目のラジオボタンも'dog'としたいです。ラジオボタン郡はname="animal"的な感じです。そのanimalの値がcatとdogと区別したいです。
53
+ 基本的にラジオボタンはmustで、ラジオボタン郡はname="animal"的な感じです。そのanimalの値がcatとdogと区別したいです。
54
54
 
55
- その上でラジオボタンの2つ目と3つ目を押したときに表示領域が変わるようにしたいです
55
+ その上でラジオボタンの2つ目と3つ目を押したときにvalue値はdogとして送られるけど、表示領域が変わるようにしたいです
56
56
 
57
57
  [https://codesandbox.io/s/admiring-brattain-dzbkl?file=/src/App.js:0-949](https://codesandbox.io/s/admiring-brattain-dzbkl?file=/src/App.js:0-949)
58
58
 

1

追記

2021/06/04 05:32

投稿

k49977
k49977

スコア27

test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,117 @@
43
43
 
44
44
 
45
45
  ・hiddenのフィールドを置いて、radioButtonのchangeイベントでそのフィールドに値を設定し、リクエストを投げる方針を思いつきましたが、実装方法がわかりません。Reactにinput type='hidden'はあるのか
46
+
47
+
48
+
49
+ ### 追記
50
+
51
+ すみません、うまくやりたいことの意図が伝えられていなかったかもしれません。
52
+
53
+ 基本的にラジオボタンはmustで、送信されるvalue値としては2つ目も3つ目のラジオボタンも'dog'としたいです。ラジオボタン郡はname="animal"的な感じです。そのanimalの値がcatとdogと区別したいです。
54
+
55
+ その上でラジオボタンの2つ目と3つ目を押したときに表示領域が変わるようにしたいです
56
+
57
+ [https://codesandbox.io/s/admiring-brattain-dzbkl?file=/src/App.js:0-949](https://codesandbox.io/s/admiring-brattain-dzbkl?file=/src/App.js:0-949)
58
+
59
+
60
+
61
+ ```react
62
+
63
+ import React from "react";
64
+
65
+
66
+
67
+ function App() {
68
+
69
+ const [val, setVal] = React.useState("cat");
70
+
71
+
72
+
73
+ const handleChange = (e) => setVal(e.target.value);
74
+
75
+
76
+
77
+ return (
78
+
79
+ <>
80
+
81
+ {/* Field name='animal'的な*/}
82
+
83
+ <label>
84
+
85
+ <input
86
+
87
+ type="radio"
88
+
89
+ value="cat"
90
+
91
+ onChange={handleChange}
92
+
93
+ checked={val === "cat"}
94
+
95
+ />
96
+
97
+ 猫派
98
+
99
+ </label>
100
+
101
+ <label>
102
+
103
+ <input
104
+
105
+ type="radio"
106
+
107
+ value="dog"
108
+
109
+ onChange={handleChange}
110
+
111
+ checked={val === "dog"}
112
+
113
+ />
114
+
115
+ 犬派(理由なし)
116
+
117
+ </label>
118
+
119
+ <label>
120
+
121
+ <input
122
+
123
+ type="radio"
124
+
125
+ value="dog" // 送信されるvalue値としては2つ目もここも'dog'としたい
126
+
127
+ onChange={handleChange}
128
+
129
+ checked={val === "dog"}
130
+
131
+ />
132
+
133
+ 犬派(理由あり)
134
+
135
+ </label>
136
+
137
+ {/*//TODO 犬派(理由なし)を押したときに表示したい*/}
138
+
139
+ {<p>犬派(理由なし)</p>}
140
+
141
+ {/*//TODO 犬派(理由あり)を押したときに表示したい*/}
142
+
143
+ {<p>犬派(理由あり)です</p>}
144
+
145
+ </>
146
+
147
+ );
148
+
149
+ }
150
+
151
+
152
+
153
+ export default App;
154
+
155
+
156
+
157
+
158
+
159
+ ```