質問編集履歴

4

★が消えていたのでサイド入力

2015/05/27 09:00

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
File without changes
test CHANGED
@@ -154,17 +154,203 @@
154
154
 
155
155
  }
156
156
 
157
+ setSelectYear();//★★★存在意義がわからなかった★★★
158
+
159
+
160
+
161
+ /*[ オプションを更新(月) ]*/
162
+
163
+ function setSelectMonth(){
164
+
165
+ var selectElement = document.getElementById("selectMonth");
166
+
167
+ var child;
168
+
169
+ //セレクトボックスの子要素を取得しつつループ
170
+
171
+ while(child = selectElement.firstChild){
172
+
173
+ //セレクトボックスから子要素を削除
174
+
175
+ selectElement.removeChild(child);
176
+
177
+ }
178
+
179
+
180
+
181
+ for(var m=1; m<=12; m++){
182
+
183
+ var option = document.createElement("option");
184
+
185
+ option.value = m;
186
+
187
+ option.text = m;
188
+
189
+
190
+
191
+ selectElement.appendChild(option);
192
+
193
+
194
+
195
+ }
196
+
197
+ setSelectDate();
198
+
199
+ }
200
+
201
+
202
+
203
+ /*[ オプションを更新(日) ]*/
204
+
205
+
206
+
207
+ function setSelectDate(){
208
+
209
+ //選択された年を取得
210
+
211
+ var Year =
212
+
213
+ document.registration.selectYear.options[
214
+
215
+ document.registration.selectYear.selectedIndex].value;
216
+
217
+ //選択された月を取得
218
+
219
+ var Month =
220
+
221
+ document.registration.selectMonth.options[
222
+
223
+ document.registration.selectMonth.selectedIndex].value;
224
+
225
+
226
+
227
+ //うるう年に対応出来る月の最終日を取得
228
+
229
+ var lastDate = new Date(Year,Month,0).getDate();
230
+
231
+
232
+
233
+ var selectElement = document.getElementById("selectDate");
234
+
235
+ var child;
236
+
237
+ while(child = selectElement.firstChild){
238
+
239
+ selectElement.removeChild(child);
240
+
241
+ }
242
+
243
+
244
+
245
+ for(var d=1; d<=lastDate; d++){
246
+
247
+ var option = document.createElement("option");
248
+
249
+ option.value = d;
250
+
251
+ option.text = d;
252
+
253
+ selectElement.appendChild(option);
254
+
255
+ }
256
+
257
+ }
258
+
259
+ // -->
260
+
261
+ </script>
262
+
263
+ </body>
264
+
265
+
266
+
267
+ </html>
268
+
269
+ ```
270
+
271
+
272
+
273
+ ↓移植して動かなくなったコード
274
+
275
+ ```lang-html
276
+
277
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
278
+
279
+ <html>
280
+
281
+ <head>
282
+
283
+ <title>情報入力画面</title>
284
+
285
+ <meta http-equiv="Content-Script-Type" content="text/javascript">
286
+
287
+ <script type="text/javascript">//属性
288
+
289
+ <!--
290
+
291
+ /*=========[ 生年月日 : プルダウン選択 ]=========*/
292
+
293
+
294
+
295
+ var Now = new Date();
296
+
297
+ var NowYear = Now.getFullYear();
298
+
299
+
300
+
301
+ /*[ オプションを更新(年) ]*/
302
+
157
303
  setSelectYear();
158
304
 
305
+ function setSelectYear(){
306
+
307
+ for(var y = NowYear-40; y <= NowYear-17; y++){
308
+
309
+
310
+
311
+ //selectボックスIDからElementの取得
312
+
313
+ var selectElement = document.getElementById("selectYear");
314
+
315
+
316
+
317
+ //<option>要素を追加
318
+
319
+ var option = document.createElement("option");
320
+
321
+ //optionのvalue属性を設定
322
+
323
+ option.value = y;
324
+
325
+ //リストに表示するテキストの設定
326
+
327
+ option.text = y;
328
+
329
+ //セレクトボックスにオプションを追加
330
+
331
+ selectElement.appendChild(option);
332
+
333
+ }
334
+
335
+ setSelectMonth();
336
+
337
+
338
+
339
+ }
340
+
341
+ setSelectYear();//★★★ここで止まる★★★
342
+
159
343
 
160
344
 
161
345
  /*[ オプションを更新(月) ]*/
162
346
 
163
347
  function setSelectMonth(){
164
348
 
165
- var selectElement = document.getElementById("selectMonth");
349
+ var selectElement = document.getElementById("selectMonth");
166
-
350
+
167
- var child;
351
+ var child;
352
+
353
+
168
354
 
169
355
  //セレクトボックスの子要素を取得しつつループ
170
356
 
@@ -178,7 +364,7 @@
178
364
 
179
365
 
180
366
 
181
- for(var m=1; m<=12; m++){
367
+ for(var m = 1; m <= 12; m++){
182
368
 
183
369
  var option = document.createElement("option");
184
370
 
@@ -236,13 +422,11 @@
236
422
 
237
423
  while(child = selectElement.firstChild){
238
424
 
239
- selectElement.removeChild(child);
425
+ selectElement.removeChild(child);
240
-
426
+
241
- }
427
+ }
242
-
243
-
244
-
428
+
245
- for(var d=1; d<=lastDate; d++){
429
+ for(var d = 1; d <= lastDate; d++){
246
430
 
247
431
  var option = document.createElement("option");
248
432
 
@@ -258,7 +442,55 @@
258
442
 
259
443
  // -->
260
444
 
261
- </script>
445
+ </script>
446
+
447
+ </head>
448
+
449
+ <body bgcolor = "#bce2e8">
450
+
451
+
452
+
453
+ <form name="registration" method="post" action="" onSubmit="return check()">
454
+
455
+ <hr width="100%" size="4">
456
+
457
+ <font size="7" color="#0000ff"><div align=center>情報入力画面</div></font>
458
+
459
+ <hr width="100%" size="4">
460
+
461
+ <table width="400px" height="60%" border="0" align="center" valign ="middle">
462
+
463
+
464
+
465
+ <tbody>
466
+
467
+ <tr>
468
+
469
+ <td valign ="middle">
470
+
471
+
472
+
473
+
474
+
475
+ <div>生年月日<select name="selectYear" id="selectYear" onchange="setSelectMonth()">
476
+
477
+ </select>年<select name="selectMonth" id="selectMonth" onchange="setSelectDate()">
478
+
479
+ </select>月<select name="selectDate" id="selectDate">
480
+
481
+ </select>日</div>
482
+
483
+ <div align="center"><input type="submit" value="登録"</input></div>
484
+
485
+ </td>
486
+
487
+ </tr>
488
+
489
+ </tbody>
490
+
491
+ </table>
492
+
493
+ </form>
262
494
 
263
495
  </body>
264
496
 
@@ -270,232 +502,14 @@
270
502
 
271
503
 
272
504
 
273
- ↓移植て動かなくなっコード
274
-
275
- ```lang-html
276
-
277
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
278
-
279
- <html>
280
-
281
- <head>
282
-
283
- <title>情報入力画面</title>
284
-
285
- <meta http-equiv="Content-Script-Type" content="text/javascript">
286
-
287
- <script type="text/javascript">//属性
288
-
289
- <!--
290
-
291
- /*=========[ 生年月日 : プルダウン選択 ]=========*/
292
-
293
-
294
-
295
- var Now = new Date();
296
-
297
- var NowYear = Now.getFullYear();
298
-
299
-
300
-
301
- /*[ オプションを更新(年) ]*/
302
-
303
- setSelectYear();
304
-
305
- function setSelectYear(){
306
-
307
- for(var y = NowYear-40; y <= NowYear-17; y++){
308
-
309
-
310
-
311
- //selectボックスIDからElementの取得
312
-
313
- var selectElement = document.getElementById("selectYear");
314
-
315
-
316
-
317
- //<option>要素を追加
318
-
319
- var option = document.createElement("option");
320
-
321
- //optionのvalue属性を設定
322
-
323
- option.value = y;
324
-
325
- //リストに表示するテキストの設定
326
-
327
- option.text = y;
328
-
329
- //セレクトボックスにオプションを追加
330
-
331
- selectElement.appendChild(option);
332
-
333
- }
334
-
335
- setSelectMonth();
336
-
337
-
338
-
339
- }
340
-
341
- ★setSelectMonth();
342
-
343
-
344
-
345
- /*[ オプションを更新(月) ]*/
346
-
347
- function setSelectMonth(){
348
-
349
- var selectElement = document.getElementById("selectMonth");
350
-
351
- var child;
352
-
353
-
354
-
355
- //セレクトボックスの子要素を取得しつつループ
356
-
357
- while(child = selectElement.firstChild){
358
-
359
- //セレクトボックスから子要素を削除
360
-
361
- selectElement.removeChild(child);
362
-
363
- }
364
-
365
-
366
-
367
- for(var m = 1; m <= 12; m++){
368
-
369
- var option = document.createElement("option");
370
-
371
- option.value = m;
372
-
373
- option.text = m;
374
-
375
-
376
-
377
- selectElement.appendChild(option);
378
-
379
-
380
-
381
- }
382
-
383
- setSelectDate();
384
-
385
- }
386
-
387
-
388
-
389
- /*[ オプションを更新(日) ]*/
390
-
391
-
392
-
393
- function setSelectDate(){
394
-
395
- //選択された年を取得
396
-
397
- var Year =
398
-
399
- document.registration.selectYear.options[
400
-
401
- document.registration.selectYear.selectedIndex].value;
402
-
403
- //選択された月を取得
404
-
405
- var Month =
406
-
407
- document.registration.selectMonth.options[
408
-
409
- document.registration.selectMonth.selectedIndex].value;
410
-
411
-
412
-
413
- //うるう年に対応出来る月の最終日を取得
414
-
415
- var lastDate = new Date(Year,Month,0).getDate();
416
-
417
-
418
-
419
- var selectElement = document.getElementById("selectDate");
420
-
421
- var child;
422
-
423
- while(child = selectElement.firstChild){
424
-
425
- selectElement.removeChild(child);
426
-
427
- }
428
-
429
- for(var d = 1; d <= lastDate; d++){
430
-
431
- var option = document.createElement("option");
432
-
433
- option.value = d;
434
-
435
- option.text = d;
436
-
437
- selectElement.appendChild(option);
438
-
439
- }
440
-
441
- }
442
-
443
- // -->
444
-
445
- </script>
446
-
447
- </head>
448
-
449
- <body bgcolor = "#bce2e8">
450
-
451
-
452
-
453
- <form name="registration" method="post" action="" onSubmit="return check()">
454
-
455
- <hr width="100%" size="4">
456
-
457
- <font size="7" color="#0000ff"><div align=center>情報入力画面</div></font>
458
-
459
- <hr width="100%" size="4">
460
-
461
- <table width="400px" height="60%" border="0" align="center" valign ="middle">
462
-
463
-
464
-
465
- <tbody>
466
-
467
- <tr>
468
-
469
- <td valign ="middle">
470
-
471
-
472
-
473
-
474
-
475
- <div>生年月日<select name="selectYear" id="selectYear" onchange="setSelectMonth()">
476
-
477
- </select>年<select name="selectMonth" id="selectMonth" onchange="setSelectDate()">
478
-
479
- </select>月<select name="selectDate" id="selectDate">
480
-
481
- </select>日</div>
482
-
483
- <div align="center"><input type="submit" value="登録"</input></div>
484
-
485
- </td>
486
-
487
- </tr>
488
-
489
- </tbody>
490
-
491
- </table>
492
-
493
- </form>
494
-
495
- </body>
496
-
497
-
498
-
499
- </html>
500
-
501
- ```
505
+ 修正を行いました
506
+
507
+ ここで止まるっていう箇所の内容がselectMonthになっていましたが、
508
+
509
+ selectYearの移し間違いです。
510
+
511
+
512
+
513
+ 質問している問題点とは別の単なる質問するときに間違えたミスです。
514
+
515
+ 回答者様が困らない様以後気をつけます(汗)

3

問題の要点の絞込

2015/05/27 09:00

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
File without changes
test CHANGED
@@ -76,17 +76,401 @@
76
76
 
77
77
  <td valign ="middle">
78
78
 
79
+ <div>生年月日<select name="selectYear" id="selectYear" onchange="setSelectMonth()">
80
+
81
+ </select>年<select name="selectMonth" id="selectMonth" onchange="setSelectDate()">
82
+
83
+ </select>月<select name="selectDate" id="selectDate">
84
+
85
+ </select>日</div>
86
+
87
+ <div align="center"><input type="submit" value="登録"</input></div>
88
+
89
+ </td>
90
+
91
+ </tr>
92
+
93
+ </tbody>
94
+
95
+ </table>
96
+
97
+ <hr width="100%" size="4">
98
+
99
+ </form>
100
+
101
+ <script type="text/javascript">//属性
102
+
103
+ <!--
104
+
105
+
106
+
107
+ /*=========[ 生年月日 : プルダウン選択 ]=========*/
108
+
109
+
110
+
111
+ var Now = new Date();
112
+
113
+ var NowYear = Now.getFullYear();
114
+
115
+
116
+
117
+ /*[ オプションを更新(年) ]*/
118
+
119
+
120
+
121
+ function setSelectYear(){
122
+
123
+ for(var y=NowYear-40; y<NowYear-17; y++){
124
+
125
+
126
+
127
+ //selectボックスIDからElementの取得
128
+
129
+ var selectElement = document.getElementById("selectYear");
130
+
131
+
132
+
133
+ //<option>要素を追加
134
+
135
+ var option = document.createElement("option");
136
+
137
+ //optionのvalue属性を設定
138
+
139
+ option.value = y;
140
+
141
+ //リストに表示するテキストの設定
142
+
143
+ option.text = y;
144
+
145
+ //セレクトボックスにオプションを追加
146
+
147
+ selectElement.appendChild(option);
148
+
149
+ }
150
+
151
+ setSelectMonth();
152
+
153
+
154
+
155
+ }
156
+
157
+ setSelectYear();
158
+
159
+
160
+
161
+ /*[ オプションを更新(月) ]*/
162
+
163
+ function setSelectMonth(){
164
+
165
+ var selectElement = document.getElementById("selectMonth");
166
+
167
+ var child;
168
+
169
+ //セレクトボックスの子要素を取得しつつループ
170
+
171
+ while(child = selectElement.firstChild){
172
+
173
+ //セレクトボックスから子要素を削除
174
+
175
+ selectElement.removeChild(child);
176
+
177
+ }
178
+
179
+
180
+
181
+ for(var m=1; m<=12; m++){
182
+
183
+ var option = document.createElement("option");
184
+
185
+ option.value = m;
186
+
187
+ option.text = m;
188
+
189
+
190
+
191
+ selectElement.appendChild(option);
192
+
193
+
194
+
195
+ }
196
+
197
+ setSelectDate();
198
+
199
+ }
200
+
201
+
202
+
203
+ /*[ オプションを更新(日) ]*/
204
+
205
+
206
+
207
+ function setSelectDate(){
208
+
209
+ //選択された年を取得
210
+
211
+ var Year =
212
+
213
+ document.registration.selectYear.options[
214
+
215
+ document.registration.selectYear.selectedIndex].value;
216
+
217
+ //選択された月を取得
218
+
219
+ var Month =
220
+
221
+ document.registration.selectMonth.options[
222
+
223
+ document.registration.selectMonth.selectedIndex].value;
224
+
225
+
226
+
227
+ //うるう年に対応出来る月の最終日を取得
228
+
229
+ var lastDate = new Date(Year,Month,0).getDate();
230
+
231
+
232
+
233
+ var selectElement = document.getElementById("selectDate");
234
+
235
+ var child;
236
+
237
+ while(child = selectElement.firstChild){
238
+
239
+ selectElement.removeChild(child);
240
+
241
+ }
242
+
243
+
244
+
245
+ for(var d=1; d<=lastDate; d++){
246
+
247
+ var option = document.createElement("option");
248
+
249
+ option.value = d;
250
+
251
+ option.text = d;
252
+
253
+ selectElement.appendChild(option);
254
+
255
+ }
256
+
257
+ }
258
+
259
+ // -->
260
+
261
+ </script>
262
+
263
+ </body>
264
+
265
+
266
+
267
+ </html>
268
+
269
+ ```
270
+
271
+
272
+
273
+ ↓移植して動かなくなったコード
274
+
275
+ ```lang-html
276
+
277
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
278
+
279
+ <html>
280
+
281
+ <head>
282
+
283
+ <title>情報入力画面</title>
284
+
285
+ <meta http-equiv="Content-Script-Type" content="text/javascript">
286
+
287
+ <script type="text/javascript">//属性
288
+
289
+ <!--
290
+
291
+ /*=========[ 生年月日 : プルダウン選択 ]=========*/
292
+
293
+
294
+
295
+ var Now = new Date();
296
+
297
+ var NowYear = Now.getFullYear();
298
+
299
+
300
+
301
+ /*[ オプションを更新(年) ]*/
302
+
303
+ setSelectYear();
304
+
305
+ function setSelectYear(){
306
+
307
+ for(var y = NowYear-40; y <= NowYear-17; y++){
308
+
309
+
310
+
311
+ //selectボックスIDからElementの取得
312
+
313
+ var selectElement = document.getElementById("selectYear");
314
+
315
+
316
+
317
+ //<option>要素を追加
318
+
319
+ var option = document.createElement("option");
320
+
321
+ //optionのvalue属性を設定
322
+
323
+ option.value = y;
324
+
325
+ //リストに表示するテキストの設定
326
+
327
+ option.text = y;
328
+
329
+ //セレクトボックスにオプションを追加
330
+
331
+ selectElement.appendChild(option);
332
+
333
+ }
334
+
335
+ setSelectMonth();
336
+
337
+
338
+
339
+ }
340
+
341
+ ★setSelectMonth();
342
+
343
+
344
+
345
+ /*[ オプションを更新(月) ]*/
346
+
347
+ function setSelectMonth(){
348
+
349
+ var selectElement = document.getElementById("selectMonth");
350
+
351
+ var child;
352
+
353
+
354
+
355
+ //セレクトボックスの子要素を取得しつつループ
356
+
357
+ while(child = selectElement.firstChild){
358
+
359
+ //セレクトボックスから子要素を削除
360
+
361
+ selectElement.removeChild(child);
362
+
363
+ }
364
+
365
+
366
+
367
+ for(var m = 1; m <= 12; m++){
368
+
369
+ var option = document.createElement("option");
370
+
371
+ option.value = m;
372
+
373
+ option.text = m;
374
+
375
+
376
+
377
+ selectElement.appendChild(option);
378
+
379
+
380
+
381
+ }
382
+
383
+ setSelectDate();
384
+
385
+ }
386
+
387
+
388
+
389
+ /*[ オプションを更新(日) ]*/
390
+
391
+
392
+
393
+ function setSelectDate(){
394
+
395
+ //選択された年を取得
396
+
397
+ var Year =
398
+
399
+ document.registration.selectYear.options[
400
+
401
+ document.registration.selectYear.selectedIndex].value;
402
+
403
+ //選択された月を取得
404
+
405
+ var Month =
406
+
407
+ document.registration.selectMonth.options[
408
+
409
+ document.registration.selectMonth.selectedIndex].value;
410
+
411
+
412
+
413
+ //うるう年に対応出来る月の最終日を取得
414
+
415
+ var lastDate = new Date(Year,Month,0).getDate();
416
+
417
+
418
+
419
+ var selectElement = document.getElementById("selectDate");
420
+
421
+ var child;
422
+
423
+ while(child = selectElement.firstChild){
424
+
425
+ selectElement.removeChild(child);
426
+
427
+ }
428
+
429
+ for(var d = 1; d <= lastDate; d++){
430
+
431
+ var option = document.createElement("option");
432
+
433
+ option.value = d;
434
+
435
+ option.text = d;
436
+
437
+ selectElement.appendChild(option);
438
+
439
+ }
440
+
441
+ }
442
+
443
+ // -->
444
+
445
+ </script>
446
+
447
+ </head>
448
+
449
+ <body bgcolor = "#bce2e8">
450
+
451
+
452
+
453
+ <form name="registration" method="post" action="" onSubmit="return check()">
454
+
455
+ <hr width="100%" size="4">
456
+
457
+ <font size="7" color="#0000ff"><div align=center>情報入力画面</div></font>
458
+
459
+ <hr width="100%" size="4">
460
+
461
+ <table width="400px" height="60%" border="0" align="center" valign ="middle">
462
+
463
+
464
+
465
+ <tbody>
466
+
467
+ <tr>
468
+
469
+ <td valign ="middle">
470
+
79
471
 
80
472
 
81
-
82
-
83
-
84
-
85
- <div>名前 <input type="text" name ="name"/></div>
473
+
86
-
87
- <div>住所 <input type="text" name ="from" size="45"/></div>
88
-
89
- <div>電話番号<input type="text" name ="tel"/></div>
90
474
 
91
475
  <div>生年月日<select name="selectYear" id="selectYear" onchange="setSelectMonth()">
92
476
 
@@ -104,243 +488,9 @@
104
488
 
105
489
  </tbody>
106
490
 
107
- </table>
491
+ </table>
108
-
109
- <hr width="100%" size="4">
492
+
110
-
111
- </form>
493
+ </form>
112
-
113
- <script type="text/javascript">//属性
114
-
115
- <!--
116
-
117
- /*====[ 名前・住所・電話番号 : テキスト入力 ]====*/
118
-
119
- function check(){
120
-
121
- //変数に入力された文字列から文字列の前後にある空白文字を抜いて格納。
122
-
123
- var nametxt = document.registration.name.value.replace(/(^\s+)|(\s+$)/g, "");
124
-
125
- var fromtxt = document.registration.from.value.replace(/(^\s+)|(\s+$)/g, "");
126
-
127
- var telltxt = document.registration.tel.value.replace(/(^\s+)|(\s+$)/g, "");
128
-
129
-
130
-
131
- //名前欄が未入力・空白の時にアラートを表示し、フォーカスする。
132
-
133
- if(nametxt == ""){
134
-
135
- window.alert("名前が未入力です");
136
-
137
- document.registration.name.focus();
138
-
139
- return false;
140
-
141
-
142
-
143
- //住所欄が未入力・空白の時にアラートを表示し、フォーカスする。
144
-
145
- }else if(fromtxt == ""){
146
-
147
- window.alert("住所が未入力です");
148
-
149
- document.registration.from.focus();
150
-
151
- return false;
152
-
153
-
154
-
155
- //電話番号欄が未入力・空白の時にアラートを表示し、フォーカスする。
156
-
157
- }else if(telltxt == ""){
158
-
159
- window.alert("電話番号が未入力です");
160
-
161
- document.registration.tel.focus();
162
-
163
- return false;
164
-
165
-
166
-
167
- //電話番号欄の文字列が数字ではない時にアラートを表示し、フォーカスする。
168
-
169
- }else if(telltxt.match(/[^0-9]+/)){
170
-
171
- window.alert("電話番号に数字以外の文字が入力されています")
172
-
173
- document.registration.tel.focus();
174
-
175
- return false;
176
-
177
-
178
-
179
- //未入力・空白項目がなく、電話番号に数字以外の文字列も入力されていない場合はtrueを送り処理を完了させる。
180
-
181
- }else{
182
-
183
- return true;
184
-
185
- }
186
-
187
- }
188
-
189
- /*=========[ 生年月日 : プルダウン選択 ]=========*/
190
-
191
-
192
-
193
- var Now = new Date();
194
-
195
- var NowYear = Now.getFullYear();
196
-
197
-
198
-
199
- /*[ オプションを更新(年) ]*/
200
-
201
-
202
-
203
- function setSelectYear(){
204
-
205
- for(var y=NowYear-40; y<NowYear-17; y++){
206
-
207
-
208
-
209
- //selectボックスIDからElementの取得
210
-
211
- var selectElement = document.getElementById("selectYear");
212
-
213
-
214
-
215
- //<option>要素を追加
216
-
217
- var option = document.createElement("option");
218
-
219
- //optionのvalue属性を設定
220
-
221
- option.value = y;
222
-
223
- //リストに表示するテキストの設定
224
-
225
- option.text = y;
226
-
227
- //セレクトボックスにオプションを追加
228
-
229
- selectElement.appendChild(option);
230
-
231
- }
232
-
233
- setSelectMonth();
234
-
235
-
236
-
237
- }
238
-
239
- setSelectYear();//★★★この存在意義がわからなかった★★★
240
-
241
-
242
-
243
- /*[ オプションを更新(月) ]*/
244
-
245
- function setSelectMonth(){
246
-
247
- var selectElement = document.getElementById("selectMonth");
248
-
249
- var child;
250
-
251
- //セレクトボックスの子要素を取得しつつループ
252
-
253
- while(child = selectElement.firstChild){
254
-
255
- //セレクトボックスから子要素を削除
256
-
257
- selectElement.removeChild(child);
258
-
259
- }
260
-
261
-
262
-
263
- for(var m=1; m<=12; m++){
264
-
265
- var option = document.createElement("option");
266
-
267
- option.value = m;
268
-
269
- option.text = m;
270
-
271
-
272
-
273
- selectElement.appendChild(option);
274
-
275
-
276
-
277
- }
278
-
279
- setSelectDate();
280
-
281
- }
282
-
283
-
284
-
285
- /*[ オプションを更新(日) ]*/
286
-
287
-
288
-
289
- function setSelectDate(){
290
-
291
- //選択された年を取得
292
-
293
- var Year =
294
-
295
- document.registration.selectYear.options[
296
-
297
- document.registration.selectYear.selectedIndex].value;
298
-
299
- //選択された月を取得
300
-
301
- var Month =
302
-
303
- document.registration.selectMonth.options[
304
-
305
- document.registration.selectMonth.selectedIndex].value;
306
-
307
-
308
-
309
- //うるう年に対応出来る月の最終日を取得
310
-
311
- var lastDate = new Date(Year,Month,0).getDate();
312
-
313
-
314
-
315
- var selectElement = document.getElementById("selectDate");
316
-
317
- var child;
318
-
319
- while(child = selectElement.firstChild){
320
-
321
- selectElement.removeChild(child);
322
-
323
- }
324
-
325
-
326
-
327
- for(var d=1; d<=lastDate; d++){
328
-
329
- var option = document.createElement("option");
330
-
331
- option.value = d;
332
-
333
- option.text = d;
334
-
335
- selectElement.appendChild(option);
336
-
337
- }
338
-
339
- }
340
-
341
- // -->
342
-
343
- </script>
344
494
 
345
495
  </body>
346
496
 
@@ -349,311 +499,3 @@
349
499
  </html>
350
500
 
351
501
  ```
352
-
353
-
354
-
355
- ↓移植して動かなくなったコード
356
-
357
- ```lang-html
358
-
359
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
360
-
361
- <html>
362
-
363
- <head>
364
-
365
- <title>情報入力画面</title>
366
-
367
- <meta http-equiv="Content-Script-Type" content="text/javascript">
368
-
369
- <script type="text/javascript">//属性
370
-
371
- <!--
372
-
373
- /*====[ 名前・住所・電話番号 : テキスト入力 ]====*/
374
-
375
- function check(){
376
-
377
- //変数に入力された文字列から文字列の前後にある空白文字を抜いて格納。
378
-
379
- var nametxt = document.registration.name.value.replace(/(^\s+)|(\s+$)/g, "");
380
-
381
- var fromtxt = document.registration.from.value.replace(/(^\s+)|(\s+$)/g, "");
382
-
383
- var telltxt = document.registration.tel.value.replace(/(^\s+)|(\s+$)/g, "");
384
-
385
-
386
-
387
- //名前欄が未入力・空白の時にアラートを表示し、フォーカスする。
388
-
389
- if(nametxt == ""){
390
-
391
- window.alert("名前が未入力です");
392
-
393
- document.registration.name.focus();
394
-
395
- return false;
396
-
397
-
398
-
399
- //住所欄が未入力・空白の時にアラートを表示し、フォーカスする。
400
-
401
- }else if(fromtxt == ""){
402
-
403
- window.alert("住所が未入力です");
404
-
405
- document.registration.from.focus();
406
-
407
- return false;
408
-
409
-
410
-
411
- //電話番号欄が未入力・空白の時にアラートを表示し、フォーカスする。
412
-
413
- }else if(telltxt == ""){
414
-
415
- window.alert("電話番号が未入力です");
416
-
417
- document.registration.tel.focus();
418
-
419
- return false;
420
-
421
-
422
-
423
- //電話番号欄の文字列が数字ではない時にアラートを表示し、フォーカスする。
424
-
425
- }else if(telltxt.match(/[^0-9]+/)){
426
-
427
- window.alert("電話番号に数字以外の文字が入力されています")
428
-
429
- document.registration.tel.focus();
430
-
431
- return false;
432
-
433
-
434
-
435
- //未入力・空白項目がなく、電話番号に数字以外の文字列も入力されていない場合はtrueを送り処理を完了させる。
436
-
437
- }else{
438
-
439
- return true;
440
-
441
- }
442
-
443
- }
444
-
445
- /*=========[ 生年月日 : プルダウン選択 ]=========*/
446
-
447
-
448
-
449
- var Now = new Date();
450
-
451
- var NowYear = Now.getFullYear();
452
-
453
-
454
-
455
- /*[ オプションを更新(年) ]*/
456
-
457
- setSelectYear();
458
-
459
- function setSelectYear(){
460
-
461
- for(var y = NowYear-40; y <= NowYear-17; y++){
462
-
463
-
464
-
465
- //selectボックスIDからElementの取得
466
-
467
- var selectElement = document.getElementById("selectYear");
468
-
469
-
470
-
471
- //<option>要素を追加
472
-
473
- var option = document.createElement("option");
474
-
475
- //optionのvalue属性を設定
476
-
477
- option.value = y;
478
-
479
- //リストに表示するテキストの設定
480
-
481
- option.text = y;
482
-
483
- //セレクトボックスにオプションを追加
484
-
485
- selectElement.appendChild(option);
486
-
487
- }
488
-
489
- setSelectMonth();
490
-
491
-
492
-
493
- }
494
-
495
- setSelectMonth();//★★★ここで止まる★★★
496
-
497
-
498
-
499
- /*[ オプションを更新(月) ]*/
500
-
501
- function setSelectMonth(){
502
-
503
- var selectElement = document.getElementById("selectMonth");
504
-
505
- var child;
506
-
507
-
508
-
509
- //セレクトボックスの子要素を取得しつつループ
510
-
511
- while(child = selectElement.firstChild){
512
-
513
- //セレクトボックスから子要素を削除
514
-
515
- selectElement.removeChild(child);
516
-
517
- }
518
-
519
-
520
-
521
- for(var m = 1; m <= 12; m++){
522
-
523
- var option = document.createElement("option");
524
-
525
- option.value = m;
526
-
527
- option.text = m;
528
-
529
-
530
-
531
- selectElement.appendChild(option);
532
-
533
-
534
-
535
- }
536
-
537
- setSelectDate();
538
-
539
- }
540
-
541
-
542
-
543
- /*[ オプションを更新(日) ]*/
544
-
545
-
546
-
547
- function setSelectDate(){
548
-
549
- //選択された年を取得
550
-
551
- var Year =
552
-
553
- document.registration.selectYear.options[
554
-
555
- document.registration.selectYear.selectedIndex].value;
556
-
557
- //選択された月を取得
558
-
559
- var Month =
560
-
561
- document.registration.selectMonth.options[
562
-
563
- document.registration.selectMonth.selectedIndex].value;
564
-
565
-
566
-
567
- //うるう年に対応出来る月の最終日を取得
568
-
569
- var lastDate = new Date(Year,Month,0).getDate();
570
-
571
-
572
-
573
- var selectElement = document.getElementById("selectDate");
574
-
575
- var child;
576
-
577
- while(child = selectElement.firstChild){
578
-
579
- selectElement.removeChild(child);
580
-
581
- }
582
-
583
- for(var d = 1; d <= lastDate; d++){
584
-
585
- var option = document.createElement("option");
586
-
587
- option.value = d;
588
-
589
- option.text = d;
590
-
591
- selectElement.appendChild(option);
592
-
593
- }
594
-
595
- }
596
-
597
- // -->
598
-
599
- </script>
600
-
601
- </head>
602
-
603
- <body bgcolor = "#bce2e8">
604
-
605
-
606
-
607
- <form name="registration" method="post" action="" onSubmit="return check()">
608
-
609
- <hr width="100%" size="4">
610
-
611
- <font size="7" color="#0000ff"><div align=center>情報入力画面</div></font>
612
-
613
- <hr width="100%" size="4">
614
-
615
- <table width="400px" height="60%" border="0" align="center" valign ="middle">
616
-
617
-
618
-
619
- <tbody>
620
-
621
- <tr>
622
-
623
- <td valign ="middle">
624
-
625
-
626
-
627
- <div>名前 <input type="text" name ="name"/></div>
628
-
629
- <div>住所 <input type="text" name ="from" size="45"/></div>
630
-
631
- <div>電話番号<input type="text" name ="tel"/></div>
632
-
633
- <div>生年月日<select name="selectYear" id="selectYear" onchange="setSelectMonth()">
634
-
635
- </select>年<select name="selectMonth" id="selectMonth" onchange="setSelectDate()">
636
-
637
- </select>月<select name="selectDate" id="selectDate">
638
-
639
- </select>日</div>
640
-
641
- <div align="center"><input type="submit" value="登録"</input></div>
642
-
643
- </td>
644
-
645
- </tr>
646
-
647
- </tbody>
648
-
649
- </table>
650
-
651
- </form>
652
-
653
- </body>
654
-
655
-
656
-
657
- </html>
658
-
659
- ```

2

ヘッダの上→ヘッダの中

2015/05/27 08:34

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  作成したプルダウンメニューについての評価を頂いた際に、
2
2
 
3
- ヘッダのjavascriptを書いたほうが良いと言われたので移植してみたのですが、
3
+ ヘッダのにscriptを書いたほうが良いと言われたので移植してみたのですが、
4
4
 
5
5
  なぜか動かなくなりました。
6
6
 

1

見やすくした

2015/05/27 08:27

投稿

R.lawliet
R.lawliet

スコア41

test CHANGED
File without changes
test CHANGED
@@ -230,13 +230,13 @@
230
230
 
231
231
  }
232
232
 
233
- setSelectMonth();//★これもちょっとわからない。
233
+ setSelectMonth();
234
-
235
-
236
-
234
+
235
+
236
+
237
- }
237
+ }
238
-
238
+
239
- setSelectYear();//★この存在意義がわからなかった
239
+ setSelectYear();//★★★この存在意義がわからなかった★★★
240
240
 
241
241
 
242
242
 
@@ -276,7 +276,7 @@
276
276
 
277
277
  }
278
278
 
279
- setSelectDate();//★よくわからない記述その3
279
+ setSelectDate();
280
280
 
281
281
  }
282
282
 
@@ -492,7 +492,7 @@
492
492
 
493
493
  }
494
494
 
495
- setSelectMonth();//★★ここで止まる
495
+ setSelectMonth();//★★ここで止まる★★★
496
496
 
497
497
 
498
498