質問編集履歴

1

他手段での解決

2023/01/24 11:40

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,72 +1,3 @@
1
- 発注日管理をしたく、初心者がら人の手を借りつつ以下のコード作成しました。しかし、これだと単「10日前、11日前」を判定日とししまってお、行き詰ってまいました。
1
+ 当方の期待ていた初心者向けの回答れなかったためやむ得ずマルチポストにて解決に至りました。
2
2
 
3
- 指定の日から「10営業日前」と、「11営業日前」を併記して表示させたいのですが、これに何かを追記または差し替える事で解決可能でしょうか?
4
- あるいはまったく別物を作らないといけないのでしょうか?
5
-
6
- どこをどう変えれば実現可能か、何卒具体的にご教示ください。よろしくお願いいたします。
7
-
8
- <html lang="ja">
9
- <head>
10
- <meta charset="utf-8">
11
- </head>
12
- <body>
13
- <form name="myform">
14
- 納品日を選択:
15
- <input type="date" id="indate" name="indate">
16
- <br><br>
17
- 受注日(本当は10営業日前にしたい→): <input type="text" id="ans" name="ans" value="" class="tbox-style"><br><br>
18
- 発注日(本当は11営業日前にしたい→): <input type="text" id="ans2" name="ans2" value="" class="tbox-style"><br>
19
- </form>
20
- </body>
21
- <script>
22
- const holday =[
23
- ['2023/2/11','建国記念の日'],
24
- ['2023/2/23','天皇誕生日'],
25
- ['2023/3/21','春分の日'],
26
- ['2023/4/29','昭和の日'],
27
- ['2023/5/3','憲法記念日'],
28
- ['2023/5/4','みどりの日'],
29
- ['2023/5/5','こどもの日'],
30
- ['2023/7/17','海の日'],
31
- ['2023/8/11','山の日'],
32
- ['2023/9/18','敬老の日'],
33
- ['2023/9/23','秋分の日'],
34
- ['2023/10/9','スポーツの日'],
35
- ['2023/11/3','文化の日'],
36
- ['2023/11/23','勤労感謝の日']
37
- ['2023/12/29','年末年始休業日'],
38
- ['2023/12/30','年末年始休業日'],
39
- ['2023/12/31','年末年始休業日']
40
- ]
41
-
42
- function cal(){
43
- let datein = new Date();
44
- let dateout = new Date();
45
- let indate = document.myform.indate.value.split("-");
46
- let str;
47
- datein.setFullYear( indate[0] );
48
- datein.setMonth( indate[1] -1 );
49
- datein.setDate( indate[2] );
50
-
51
- dateout.setTime( datein.getTime() - 10*24*3600*1000 ); // 10日前の日
3
+ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10274446285
52
- HolidCK(); // 土日休チェック
53
- document.myform.ans.value= str;
54
-
55
- dateout.setTime( datein.getTime() - 11*24*3600*1000 ); // 11日前の日
56
- HolidCK(); // 土日休チェック
57
- document.myform.ans2.value= str;
58
-
59
- function HolidCK() { // 土日祝日のチェック
60
- for ( let i = 0; i < holday.length; i++){
61
- str = dateout.getFullYear() + '/'
62
- + (dateout.getMonth() + 1) + '/'
63
- + dateout.getDate();
64
- if( (str == holday[i][0]) || (dateout.getDay() == 0) || (dateout.getDay() == 6) ){
65
- dateout.setTime( dateout.getTime() - 24*3600*1000 ); // 1日前の日
66
- HolidCK(); break;
67
- }
68
- }
69
- }
70
- }
71
- </script>
72
- </html>