簡體   English   中英

fullcalendar 顯示無法讀取屬性 hastime

[英]fullcalendar showing cannot read property hastime

我正在嘗試在 node.js 中使用 fullcalendar,其中開始和結束時間的參數是從帶有 JSON.parse 的字符串中提取的

我已經嘗試將一組對象(表示具有開始和結束時間的事件)手動輸入到事件函數中,並且工作正常。

這是我當前的代碼:

 <!DOCTYPE html> <html lang="en"> <head> <title>Title</title> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-74664112-6"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-74664112-6'); </script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-rc.2/css/materialize.min.css"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <!-- FullCalendar --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js"></script> </head> <body> <h4 style="text-align:center;margin-top:0px; margin-bottom: 0px;">Heading</h4> <div id="calendar"> </div> <div id="availabilities"> [{"ifvID":1,"title":"testtitle","start_event":"2019-06-22T20:00:00","end_event":"2019-06-22T22:00:00"}] </div> <script> $(document).ready(function() { console.log(document.getElementById("availabilities").innerHTML); console.log(JSON.parse(document.getElementById("availabilities").innerHTML)); console.log(JSON.parse(document.getElementById("availabilities").innerHTML)[0]); var calendar = $('#calendar').fullCalendar({ editable:true, header:{ left:'prev,next today', center:'title', right:'month,agendaWeek,agendaDay' }, events: JSON.parse(document.getElementById("availabilities").innerHTML), selectable:true, selectHelper:true, select: function(start, end, allDay) { var title = prompt("Enter Event Title"); if(title) { var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss"); var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss"); $.ajax({ url:"insert.php", type:"POST", data:{title:title, start:start, end:end}, success:function() { calendar.fullCalendar('refetchEvents'); alert("Added Successfully"); } }) } }, editable:true, eventResize:function(event) { var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss"); var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss"); var title = event.title; var id = event.id; $.ajax({ url:"update.php", type:"POST", data:{title:title, start:start, end:end, id:id}, success:function(){ calendar.fullCalendar('refetchEvents'); alert('Event Update'); } }) }, eventDrop:function(event) { var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss"); var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss"); var title = event.title; var id = event.id; $.ajax({ url:"update.php", type:"POST", data:{title:title, start:start, end:end, id:id}, success:function() { calendar.fullCalendar('refetchEvents'); alert("Event Updated"); } }); }, eventClick:function(event) { if(confirm("Are you sure you want to remove it?")) { var id = event.id; $.ajax({ url:"delete.php", type:"POST", data:{id:id}, success:function() { calendar.fullCalendar('refetchEvents'); alert("Event Removed"); } }) } }, }); }); </script> <!-- Compiled and minified JavaScript --> <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-rc.2/js/materialize.min.js"></script> <!-- JQUERY --> <!-- <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script> --> </body> </html>

如果運行正確,事件應該在完整日歷上顯示而沒有任何錯誤 - 但是,當我運行代碼時,會出現一條錯誤消息,提示“無法讀取未定義類型錯誤的屬性‘hasTime’:無法讀取未定義的屬性‘hasTime’”。 這是確切的錯誤:

 jQuery.Deferred exception: Cannot read property 'hasTime' of undefined TypeError: Cannot read property 'hasTime' of undefined at P (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:18300) at O (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:18107) at V (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:18082) at z (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:17993) at https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:15518 at Function.map (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:3309) at p (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:15486) at Array.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:20605) at Function.each (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:2715) at constructor.Ut (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.4.0/fullcalendar.min.js:6:20507) undefined r.Deferred.exceptionHook @ jquery.min.js:2 jquery.min.js:2 Uncaught TypeError: Cannot read property 'hasTime' of undefined at P (fullcalendar.min.js:6) at O (fullcalendar.min.js:6) at V (fullcalendar.min.js:6) at z (fullcalendar.min.js:6) at fullcalendar.min.js:6 at Function.map (jquery.min.js:2) at p (fullcalendar.min.js:6) at Array.<anonymous> (fullcalendar.min.js:6) at Function.each (jquery.min.js:2) at constructor.Ut (fullcalendar.min.js:6)

大多數情況下,當您的事件屬性的開始或結束日期沒有值或空值時,此hastime錯誤會顯示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM