回答編集履歴

1

sample

2017/06/22 09:43

投稿

yambejp
yambejp

スコア114839

test CHANGED
@@ -11,3 +11,129 @@
11
11
  結局未入力をさけるためにも送信時のチェックは必要なので
12
12
 
13
13
  がんばってもさほど意味がない作業になります。
14
+
15
+
16
+
17
+ # sample
18
+
19
+ 一応形だけ
20
+
21
+ ```javascript
22
+
23
+ <script>
24
+
25
+ document.addEventListener('change',function(e){
26
+
27
+ var t=e.target;
28
+
29
+ if(t.nodeName=="SELECT" && (t.name=="year" || t.name=="month")){
30
+
31
+ setDay();
32
+
33
+ }
34
+
35
+ });
36
+
37
+ function setDay(){
38
+
39
+ var f=document.getElementById("f1");
40
+
41
+ var y=f.elements["year"].options[f.elements["year"].selectedIndex].value;
42
+
43
+ var m=f.elements["month"].options[f.elements["month"].selectedIndex].value;
44
+
45
+ var d=f.elements["day"];
46
+
47
+ for(var i=d.options.length-1;i>0;i--){
48
+
49
+ d.removeChild(d.options[i]);
50
+
51
+ }
52
+
53
+ if(y!=="" && m!==""){
54
+
55
+ for(var i=1 ; i<=(new Date(y,m,0)).getDate(); i++){
56
+
57
+ var n=document.createElement("option");
58
+
59
+ n.setAttribute("value",i);
60
+
61
+ n.appendChild(document.createTextNode(("0"+i).substr(-2,2)));
62
+
63
+ d.appendChild(n);
64
+
65
+ }
66
+
67
+ }
68
+
69
+
70
+
71
+ }
72
+
73
+ window.onload=function(){
74
+
75
+ var f=document.getElementById("f1");
76
+
77
+ var y=f.elements["year"];
78
+
79
+ var m=f.elements["month"];
80
+
81
+ var myDate=new Date( );
82
+
83
+ for(var i=myDate.getFullYear()-50 ; i<myDate.getFullYear( )+2 ; i++){
84
+
85
+ var n=document.createElement("option");
86
+
87
+ n.setAttribute("value",i);
88
+
89
+ n.appendChild(document.createTextNode(i));
90
+
91
+ y.appendChild(n);
92
+
93
+ }
94
+
95
+ for(var i=1 ; i<=12 ; i++){
96
+
97
+ var n=document.createElement("option");
98
+
99
+ n.setAttribute("value",i);
100
+
101
+ n.appendChild(document.createTextNode(("0"+i).substr(-2,2)));
102
+
103
+ m.appendChild(n);
104
+
105
+ }
106
+
107
+ setDay();
108
+
109
+ }
110
+
111
+ </script>
112
+
113
+
114
+
115
+ <form id="f1">
116
+
117
+ <select name="year">
118
+
119
+ <option value="">----</option>
120
+
121
+ </select>年
122
+
123
+ <select name="month">
124
+
125
+ <option value="">--</option>
126
+
127
+ </select>月
128
+
129
+ <select name="day">
130
+
131
+ <option value="">--</option>
132
+
133
+ </select>日
134
+
135
+
136
+
137
+
138
+
139
+ ```