質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1074閲覧

Java Scriptでカレンダーが表示されない

ng_shan

総合スコア17

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2022/05/25 10:54

表示されるエラー
index copy.html:20 Uncaught ReferenceError: generate_month_calendar is not defined
at window.onload (index copy.html:20:17)

調べたところ多分2回iを定義しているのでエラーが発生していると思うのですが改善の仕方がわからないです。(多分ですけど!!)

JavaScript

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8" /> 6 <title>Calculator</title> 7 8</head> 9 10<body> 11<div id='calendar'></div> 12 13 14 15 <script> 16 let year = 2018; 17 let month = 5; 18 19 window.onload = function() { 20 var data = generate_month_calendar(year,month); 21 document.getElementById('calendar').appendChild(data); 22 } 23 24 function get_month_calendar(year,month) { 25 let weekdayData = ['日', '月', '火', '水', '木', '金', '土']; 26 let calendarData = get_month_calendar(year,month); 27 28 let i = calendarData[0]['weekday'] 29 while(i>0) { 30 i--; 31 calendarData.unshift({ 32 day:'', 33 weekday:i 34 }); 35 } 36 let i = calendarData[calendarData.length -1]['weekday'] 37 38 while(i<6) { 39 i++; 40 calendarData.push({ 41 day:'', 42 weekday: i 43 }); 44 } 45 46 let cTable = document.createElement('table'); 47 cTable.className='calendar-table'; 48 49 let insertDate = ''; 50 51 insertDate += '<thead>'; 52 insertDate += '<tr>'; 53 for(var i = 0;i<weekdayData.length; i++) { 54 insertData += '<th>'; 55 insertData += weekdayData[i]; 56 insertData += '</th>'; 57 } 58 insertData += '</tr>'; 59 insertData += '</thead>'; 60 61 insertData += '<tbody>'; 62 for (var i = 0; i < calendarData.length; i++) { 63 if(calendarData[i]['weekday'] <= 0) { 64 insertData += '<tr>'; 65 } 66 insertData += '<td>'; 67 insertData += calendarData[i]['day']; 68 insertData += '</td>'; 69 if(calendarData[i]['weekday'] >= 6) { 70 insertData += '</tr>'; 71 } 72 } 73 insertData += '</tbody>'; 74 75 cTable.innerHTML = insertData; 76 return cTable; 77 } 78 79 function get_month_calendar(year,month) { 80 let firstDate = new Date(year,(month-1),1); 81 let lastDate = new Date(year,(firstDate.getMonth() +1),0).getDate(); 82 let weekday = firstDate.getDay(); 83 84 let calendarDate = []; 85 let weekdayCount = weekday; 86 for (var i = 0; i<lastDay; i++) { 87 calendarDate[i] = { 88 day: i+1, 89 weekday:weekdayCount 90 } 91 if (weekdayCount >=6) { 92 weekdayCount = 0; 93 } else { 94 weekdayCount++; 95 } 96 } 97 return calendarDate; 98 } 99 100 </script> 101 102 103</body> 104</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

シンプルに、generate_month_calendar という関数が定義されていないからでしょう。

js

1 function get_month_calendar(year,month) {

get_month_calendar() なのでは?

投稿2022/05/25 10:56

int32_t

総合スコア20850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問