回答編集履歴
1
chousei
test
CHANGED
@@ -1 +1,56 @@
|
|
1
1
|
【3つのセレクトボックス】の方は3つめのセレクトの値を参照していないように見えます。
|
2
|
+
|
3
|
+
# 参考
|
4
|
+
```html
|
5
|
+
<script>
|
6
|
+
document.addEventListener('submit',e=>{
|
7
|
+
e.preventDefault();
|
8
|
+
const t=e.target;
|
9
|
+
const [x,y,z]=[t.elements['x'].value,t.elements['y'].value,t.elements['z'].value];
|
10
|
+
const obj={
|
11
|
+
"A":{"D":{"H":100,"I":200,"J":300},"E":1400,"F":1850,"G":2500},
|
12
|
+
"B":{"D":1200,"E":1850,"F":2400,"G":2800},
|
13
|
+
"C":{"D":2300,"E":2500,"F":2800,"G":3200},
|
14
|
+
};
|
15
|
+
const usp=new URLSearchParams();
|
16
|
+
usp.append('x',x);
|
17
|
+
usp.append('y',y);
|
18
|
+
if(x.value=='' ||
|
19
|
+
y.value=='' ||
|
20
|
+
(obj[x][y] instanceof Object && z=='')
|
21
|
+
){
|
22
|
+
return false;
|
23
|
+
}
|
24
|
+
if(typeof obj[x][y]=="number"){
|
25
|
+
usp.append('content',obj[x][y]);
|
26
|
+
}else{
|
27
|
+
usp.append('z',z);
|
28
|
+
usp.append('content',obj[x][y][z]);
|
29
|
+
}
|
30
|
+
location.href='?'+usp.toString();
|
31
|
+
});
|
32
|
+
</script>
|
33
|
+
<form id="form">
|
34
|
+
<select name="x">
|
35
|
+
<option value="">--</option>
|
36
|
+
<option value="A">A</option>
|
37
|
+
<option value="B">B</option>
|
38
|
+
<option value="C">C</option>
|
39
|
+
</select>
|
40
|
+
<select name="y">
|
41
|
+
<option value="">--</option>
|
42
|
+
<option value="D">D</option>
|
43
|
+
<option value="E">E</option>
|
44
|
+
<option value="F">F</option>
|
45
|
+
<option value="G">G</option>
|
46
|
+
</select>
|
47
|
+
<select name="z">
|
48
|
+
<option value="">--</option>
|
49
|
+
<option value="H">H</option>
|
50
|
+
<option value="I">I</option>
|
51
|
+
<option value="J">J</option>
|
52
|
+
<option value="K">K</option>
|
53
|
+
</select>
|
54
|
+
<input type="submit" value="送信">
|
55
|
+
</form>
|
56
|
+
```
|