查看切换

时间:2017-03-11 11:22:43

标签: javascript php jquery html fullcalendar

每当我在fullcalendar上切换月份时,我都会收到以下错误消息

Uncaught TypeError: specialTokens[fakePart.substring(...)] is not a function

我的所有活动都会从日历中消失。

我正在尝试在月份更改时重新呈现我的活动,但我不断收到错误消息,并且不会重新加载我的活动。

的Javascript

var events = <?php echo $eventsArray ?>;
var blocked = <?php echo $blockedArray ?>;
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
console.log(blocked);
for (var i = 0; i < Object.keys(blocked).length; i++) {
 console.log(blocked[i].date);
}
$('#democalendarfull').fullCalendar({
 header: {
  left: 'prev,next today',
  center: 'title',
  right: 'month,basicWeek,basicDay'
 },
 viewRender: function(view, element) {
  $('#democalendarfull').fullCalendar( 'rerenderEvents' );
 },
  editable: false,
  aspectRatio: 2,
  droppable: false,
  events: events,
  dayRender: function (date, cell) {
  var today = new Date();
   if (date._d.getDate() === today.getDate()) {
    cell.css("background-color", "red");
   }
  }
});

HTML

<div id="democalendarfull" class="mb">
                  <div class="panel green-panel no-margin">
                      <div class="panel-body">
                          <div id="date-popover" class="popover top" style="cursor: pointer; disadding: block; margin-left: 33%; margin-top: -50px; width: 175px;">
                              <div class="arrow"></div>
                              <h3 class="popover-title" style="disadding: none;"></h3>
                              <div id="date-popover-content" class="popover-content"></div>
                          </div>

                             //JAVASCRIPT IS INSIDE HERE

                      </div>
                  </div>
              </div>

PHP

$results= $db->query("SELECT * FROM mytable");
                            $events = array();
                            while($fetch = mysqli_fetch_assoc($results)){
                              $e = array();
                              $e['id'] = $fetch['id'];
                              $e['title'] = $fetch['title'];
                              $e['start'] = $fetch['start'];
                              $e['end'] = $fetch['end'];
                              $e['url'] = $fetch['url'];
                              array_push($events, $e);
                            }
                            $eventsArray = json_encode($events);

我的事件在页面加载时都加载并正常工作,但是一旦我循环几个月,我收到错误消息就会中断!我不知道我是否错了,但无论我做什么,我都无法保证我的活动!

1 个答案:

答案 0 :(得分:2)

升级fullCalendar之后我遇到了同样的问题,让我有点想弄清楚,因为近一年来一切正常,我在过去没有任何问题升级过fullCalendar,因为某些原因我不得不包括{在我使用fullCalendar的页面中{1}},请参阅我运行MVC网站,之前主页(moment.js)引用了_layout.cshtml,现在还不确定为什么不起作用再一次,就像测试一样,我在实际页面中添加了对时刻的引用,我使用了fullCalendar,我在事件中遇到的问题以及我日历题目中moment.js的另一个问题也消失了。

在我的情况下,修复是:

undefined

在你的情况下可能只是:

@Scripts.Render("~/bundles/dates") 

如果您的问题不是时刻的参考,您可能想尝试使用回叫,documentation提到了这一点,但我没有看到您使用它:

尝试:

<script src='//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script>