只今、設置した[type="date"]のインプットボックスで選択した日付に、type_1~4のボタンに応じて設定されている日数を付加した日付の文字列を、5つのテキストボックス(入力不可)それぞれに表示させるフォームを作成しているところなのですが、少なくとも1つ、解決できない問題に直面しております。
[type="date"]のインプットボックスで選択した日付は文字列ではなく、そのままType_1~4のボタンを押してテキストボックスに表示しようとしても、選択した日付は「標準出力」状態で、あとの4つには、初期値(1970/1/1)からの経過数を表す長い数字が表示されるだけ、となってしまっています。
ここまでに記述してきたコードは、以下のとおりです。
html・JQuery
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Button Pattern</title> 7 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 8 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 9 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 10 <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css"> 11 <link href="https://fonts.googleapis.com/css?family=Sawarabi+Gothic" rel="stylesheet"> 12</head> 13<body> 14 15<div class="container"> 16 <form action="" method="post"> 17 <p><input type="date" name="dayInto" id="dayInto" required></p> 18 <div> 19 <input type="button" class="btn btn-warning form-group" value="type_1" onclick="input(1)"> 20 <input type="button" class="btn btn-warning form-group" value="type_2" onclick="input(2)"> 21 <input type="button" class="btn btn-warning form-group" value="type_3" onclick="input(3)"> 22 <input type="button" class="btn btn-warning form-group" value="type_4" onclick="input(4)"> 23 </div> 24 <br> 25 <label>Day-1st </label><input type="text" class="form-control" name="take_1" id="take_1" readonly> 26 <br> 27 <label>Day-2nd </label><input type="text" class="form-control" name="take_2" id="take_2" readonly> 28 <br> 29 <label>Day-3rd </label><input type="text" class="form-control" name="take_3" id="take_3" readonly> 30 <br> 31 <label>Day-4th </label><input type="text" class="form-control" name="take_4" id="take_4" readonly> 32 <br> 33 <label>Day-5th </label><input type="text" class="form-control" name="take_5" id="take_5" readonly> 34 <br> 35 <input type="submit"> 36</form> 37</div> 38<script> 39 function input(type){ 40 var dayInto = $("#dayInto").val(); 41 var dtDayInto = new Date(dayInto); 42 var take_1 = dtDayInto; 43 var take_2 = dtDayInto.setDate(dtDayInto.getDate() + 1); 44 var take_3 = dtDayInto.setDate(dtDayInto.getDate() + 4); 45 if(type == 1){ 46 console.log(take_1); 47 console.log(take_2); 48 console.log(take_3); 49 var take_4 = dtDayInto.setDate(dtDayInto.getDate() + 8); 50 var take_5 = dtDayInto.setDate(dtDayInto.getDate() + 15); 51 $("#take_1").val(take_1); 52 $("#take_2").val(take_2); 53 $("#take_3").val(take_3); 54 $("#take_4").val(take_4); 55 $("#take_5").val(take_5); 56 } else if(type == 2) { 57 console.log(take_1); 58 console.log(take_2); 59 console.log(take_3); 60 var take_4 = dtDayInto.setDate(dtDayInto.getDate() + 8); 61 var take_5 = dtDayInto.setDate(dtDayInto.getDate() + 16); 62 $("#take_1").val(take_1); 63 $("#take_2").val(take_2); 64 $("#take_3").val(take_3); 65 $("#take_4").val(take_4); 66 $("#take_5").val(take_5); 67 } else if(type == 3) { 68 console.log(take_1); 69 console.log(take_2); 70 console.log(take_3); 71 var take_4 = dtDayInto.setDate(dtDayInto.getDate() + 9); 72 var take_5 = dtDayInto.setDate(dtDayInto.getDate() + 16); 73 $("#take_1").val(take_1); 74 $("#take_2").val(take_2); 75 $("#take_3").val(take_3); 76 $("#take_4").val(take_4); 77 $("#take_5").val(take_5); 78 } else { 79 console.log(take_1); 80 console.log(take_2); 81 console.log(take_3); 82 var take_4 = dtDayInto.setDate(dtDayInto.getDate() + 9); 83 var take_5 = dtDayInto.setDate(dtDayInto.getDate() + 17); 84 $("#take_1").val(take_1); 85 $("#take_2").val(take_2); 86 $("#take_3").val(take_3); 87 $("#take_4").val(take_4); 88 $("#take_5").val(take_5); 89 } 90 } 91</script> 92</body> 93</html> 94<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
5つのテキストボックスに表示するそれぞれの日付を、標準入力値や数値でなく、yyyy-mm-ddのような日付の文字列に変換する為には、どんな関数等の処理が必要でしょうか。
+(できれば以下も実装したい)+
[type="date"]のインプットボックスで日付を指定し、且つtype_1~4のいずれかのボタンを謳歌した状態でないと、submit(送信)ボタンが押せないようにしたいです。
ご存知の方がいらっしゃいましたら、お手数ですがご教示の程お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/31 09:00