質問編集履歴

3

誤字

2016/10/20 12:02

投稿

noririn
noririn

スコア37

test CHANGED
@@ -1 +1 @@
1
- javascript セレクトボックスに指定の年月日を反映させたい
1
+ ja
test CHANGED
@@ -1,311 +1 @@
1
- 現在、Beanクラスから取得した年月日、
2
-
3
-
4
-
5
- bean.getYear()
6
-
7
- bean.getMonth()
8
-
9
- bean.getDay()
10
-
11
-
12
-
13
- をjavascriptで閏年対応や月によって末日を変更する処理をしたセレクトボックスに、その機能を残しつつ受け取った年月日を表示させたいと思っておりますが、設定上、引数をどう渡せばいいのか困っています。
14
-
15
-
16
-
17
-
18
-
19
- 下記のjavascriptは引数を渡したていで書いたものです。
20
-
21
-
22
-
23
-
24
-
25
- ```javascript
26
-
27
- //引数の入れる場所が今のところ不明のため一応こちらに記載しております
28
-
29
- window.onload=function selectYear(inputyear,inputmonth,inputday){
30
-
31
-
32
-
33
- //今年を取得
34
-
35
- var nowD = new Date();
36
-
37
- var nowYear = nowD.getFullYear();
38
-
39
-
40
-
41
- //yearオブジェクトの取得
42
-
43
- var objY = document.getElementById("year");
44
-
45
-
46
-
47
- //年を表示(今年からマイナス10年前まで)
48
-
49
- for(var i=0; i<=10 ; i++){
50
-
51
- objY.options[i] = new Option(nowYear-i.nowYear-i);
52
-
53
- }
54
-
55
-
56
-
57
- //選択された年を表示
58
-
59
- if(nowYear-i == inputyear){
60
-
61
- document.form.year.options[nowYear-i].selected = true;
62
-
63
- }
64
-
65
- selectMonth();
66
-
67
- }
68
-
69
-
70
-
71
- function selectMonth(){
72
-
73
-
74
-
75
- //現在の日付を取得
76
-
77
- var nowD = new Date();
78
-
79
-
80
-
81
- //現在の日付を取得
82
-
83
- var nowMonth = nowD.getMonth()+1;
84
-
85
-
86
-
87
- //monthオブジェクトを取得
88
-
89
- var objM = document.getElementById("month");
90
-
91
-
92
-
93
- //monthオブジェクトに月optionを追加
94
-
95
- for(var i=0; i <=11; i++){
96
-
97
- objM.options[i] = new Option(i+1,i+1);
98
-
99
-
100
-
101
- //選択した月を表示
102
-
103
- if(i == inputmonth){
104
-
105
- document.form.month.options[i].selected = true;
106
-
107
- }
108
-
109
- }
110
-
111
- selectDay();
112
-
113
- }
114
-
115
-
116
-
117
- //日の要素を作成
118
-
119
- function selectDay(){
120
-
121
-
122
-
123
- //現在日を取得
124
-
125
- var nowD = new Date();
126
-
127
- var nowDate = nowD.getDate();
128
-
129
-
130
-
131
- //年と月を取得
132
-
133
- var sYear = document.getElementById("year").value;
134
-
135
- var sMonth = document.getElementById("month").value;
136
-
137
-
138
-
139
- //月の最終日:閏年用
140
-
141
- var last = 0;
142
-
143
-
144
-
145
- //閏年判定
146
-
147
- if(2 == sMonth && (sYear % 400 == 0 || (sYear % 4 == 0 && sYear % 100 != 0))){
148
-
149
- last = 29;
150
-
151
- }else{
152
-
153
- var lastday = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
154
-
155
- last = lastday[sMonth-1];
156
-
157
- }
158
-
159
-
160
-
161
- //要素の初期化
162
-
163
- var objD = document.getElementById("day");
164
-
165
- objD.length = 0;
166
-
167
-
168
-
169
- //選択した月に応じた日の要素を追加
170
-
171
- for(var i =0; i <last; i++){
172
-
173
- objD.options[i] = new Option(i+1,i+1);
174
-
175
-
176
-
177
- //選択した日を表示
178
-
179
- if(i == inputday){
180
-
181
- document.form.day.options[i].selected = true;
1
+ oooooooooooooooooooooooooooooooooooooooooooo
182
-
183
- }
184
-
185
- }
186
-
187
- }
188
-
189
-
190
-
191
- ```
192
-
193
-
194
-
195
- 困っているのは、下記のjavascriptの設定です
196
-
197
-
198
-
199
- ```html
200
-
201
- <form method="post" action="servlet" name="form" id="form">
202
-
203
-
204
-
205
- <select>
206
-
207
- <% for(Bean bean:list){ %>
208
-
209
- <tr>
210
-
211
- <td>
212
-
213
- <select name="year" id="year" onChange="selectDay()"></select>年
214
-
215
- <select name="month" id="month" onChange="selectDay()"></select>月
216
-
217
- <select name="day" id="day"></select>日
218
-
219
-
220
-
221
- <% } %>
222
-
223
-
224
-
225
- ```
226
-
227
-
228
-
229
- 連携させているため、呼び出すのは
230
-
231
- selectDay()
232
-
233
- です
234
-
235
-
236
-
237
- selectDay()でjavascriptを呼んでいるので、
238
-
239
-
240
-
241
- 例えばですが
242
-
243
-
244
-
245
- ```html
246
-
247
-
248
-
249
- <select name="year" id="year"
250
-
251
- onChange="selectDay(<% bean.getYear(),bean.getMonth(),bean.getDay() %>)">
252
-
253
- </select>年
254
-
255
-
256
-
257
- ```
258
-
259
-
260
-
261
- とすればいいのか、(月でも同じように呼んでいるのでここでも引数を設定しないといけないのか・・?)引数をどう渡して受け取ればいいのか分からない状態です。
262
-
263
-
264
-
265
- ```javascript
266
-
267
-
268
-
269
- //選択された年を表示
270
-
271
- if(nowYear-i == inputyear){
272
-
273
- document.form.year.options[nowYear-i].selected = true;
274
-
275
- }
276
-
277
-
278
-
279
- //選択した月を表示
280
-
281
- if(i == inputmonth){
282
-
283
- document.form.month.options[i].selected = true;
284
-
285
- }
286
-
287
-
288
-
289
- //選択した日を表示
290
-
291
- if(i == inputday){
292
-
293
- document.form.day.options[i].selected = true;
294
-
295
- }
296
-
297
-
298
-
299
- ```
300
-
301
-
302
-
303
- こちらの指定の仕方も合っているのでしょうか・・?
304
-
305
-
306
-
307
- どなたかアドバイス頂けると幸いです。
308
-
309
-
310
-
311
- どうぞよろしくお願い致します。

2

誤字

2016/10/20 12:02

投稿

noririn
noririn

スコア37

test CHANGED
@@ -1 +1 @@
1
- javascript 閏年、月ごとの末日対応したセレクトボックスに指定の年月日を反映させたい
1
+ javascript セレクトボックスに指定の年月日を反映させたい
test CHANGED
File without changes

1

誤字

2016/07/13 20:16

投稿

noririn
noririn

スコア37

test CHANGED
File without changes
test CHANGED
@@ -192,7 +192,7 @@
192
192
 
193
193
 
194
194
 
195
- 困っているのは、下記の呼び方せいです
195
+ 困っているのは、下記のjavascript設定です
196
196
 
197
197
 
198
198