2012-03-08 135 views
1

我正在尝试做一个完整的同步日历谷歌日历和fullCalendar之间。 但现在我在调整日期对象上遇到问题。“对象#<Object>没有方法”fullcalendar

eventResize: function(event,dayDelta,minuteDelta,revertFunc,start,end) { 
      alert($.fullCalendar.formatDate(end, 'u')); 
      // alert($.fullCalendar.formatDate(start, 'yyyy-MM-dd')); 
      alert(
       "The end date of " + event.title + "has been moved " + 
       dayDelta + " days and " + 
       minuteDelta + " minutes." 
      ); 
      // Demande la confirmation du redimenssionnement 
      if (!confirm("Confirmation la modification?")) { 
       revertFunc(); 
      } 
     }, 

所以我敢肯定,我做错了什么......

calendrier.js:

/* 
* Mise en forme du calendrier et des différentes fonctions/interactions avec 
* celui ci 
*/ 

$(document).ready(function() { 
    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 

    $('#calendar').fullCalendar({ 
     // Chargement des énévements depuis le calendrier google 
     events: { 
      // calendrier partager en public 
      url : 'https://www.google.com/calendar/feeds/riat.tom%40gmail.com/public/basic', 
      editable: true  
     }, 

     // Entete du calendrier 
     header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay' 
     }, 

     // Vue par défaut mise en semaine 
     defaultView: 'agendaWeek', 
     // Permet de sélectionner les events 
     selectable: true, 

     // Aide à la sélection 
     selectHelper: true, 

     // Rend le calendrier éditable 
     editable: true, 

     /////////////////////////////////////////////////////////////////////////// 
     // Lors d'une sélection d'une plage on propose un ajout avec entré de titre 
     /////////////////////////////////////////////////////////////////////////// 
     select: function(start, end) { 
      // Recois un texte entré 
      var title = prompt('Event Title:'); 
      // Création de l'évenement dans un format de date ISO8601 UTC 
      if(title != '' && title != null){ 
       createEvent(
         title, 
         $.fullCalendar.formatDate(start, 'yyyy-MM-dd') + 'T' + $.fullCalendar.formatDate(start, 'HH:mm:ss.000+01:00'),  
         $.fullCalendar.formatDate(end, 'yyyy-MM-dd') + 'T' + $.fullCalendar.formatDate(end, 'HH:mm:ss.000+01:00') 
       ); 
      } 


      // on enleve la sélection pour laisser place à l'évenement 
      $('#calendar').fullCalendar('unselect'); 

      // On actualise le calendrier en rappelant toutes les sources 
      $('#calendar').fullCalendar('refetchEvents'); 
     }, 
     /////////////////////////////////////////////////////////////////////////// 
     // Après un drag'n'drop d'un évenement 
     /////////////////////////////////////////////////////////////////////////// 
     eventDrop: function(event,dayDelta,minuteDelta,revertFunc) { 
      alert(
       event.title + " was moved " + 
       dayDelta + " days and " + 
       minuteDelta + " minutes." 
      ); 

      if (!confirm("Are you sure about this change?")) { 
       revertFunc(); 
      } 

     }, 

     /////////////////////////////////////////////////////////////////////////// 
     // Après une modification de temps d'intervention 
     /////////////////////////////////////////////////////////////////////////// 
     eventResize: function(event,dayDelta,minuteDelta,revertFunc,start,end) { 
      alert($.fullCalendar.formatDate(end, 'u')); 
      // alert($.fullCalendar.formatDate(start, 'yyyy-MM-dd')); 
      alert(
       "The end date of " + event.title + "has been moved " + 
       dayDelta + " days and " + 
       minuteDelta + " minutes." 
      ); 
      // Demande la confirmation du redimenssionnement 
      if (!confirm("Confirmation la modification?")) { 
       revertFunc(); 
      } 
     }, 

     /////////////////////////////////////////////////////////////////////////// 
     // ouverture d'une popup lors du clic sur l'évenement 
     /////////////////////////////////////////////////////////////////////////// 
     eventClick: function(calEvent) { 
      /////////////////////////////////////////////////////////////////////////// 
      // Suppression de l'évenement au clic 
      /////////////////////////////////////////////////////////////////////////// 
      /* 
      deleteEvent(calEvent.title); 
      // Empeche la redirection vers le calendrier google 
      if (!confirm("Confirmation la modification?")) { 
       revertFunc(); 
      } 
      */ 

      /////////////////////////////////////////////////////////////////////////// 
      // Modification de l'évenement au clic 
      /////////////////////////////////////////////////////////////////////////// 
      var newEvent = prompt('Entrer un nouveau nom'); 
      editEvent('test a', newEvent); 

      return false; 
     } 
    }); 
}); 

的index.php:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Test calendrier</title> 
    <link rel='stylesheet' media="" type='text/css' href='css/fullcalendar.css' /> 
    <script type='text/javascript' src='js/jquery.js'></script> 
    <script type='text/javascript' src='js/fullcalendar.min.js'></script> 
    <script type='text/javascript' src='js/gcal.js'></script> 
    <script type='text/javascript' src='js/jquery-ui.min.js'></script> 

    <script type='text/javascript' src='js/account.js'></script> 
    <script type='text/javascript' src='js/event.js'></script> 
    <script type='text/javascript' src='js/calendrier.js'></script> 

    <!-- <script src="http://www.google.com/jsapi?key=ABQIAAAAEobLGDxmyE-A9YknRQOjkBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRAbim8Zaj8QsHGwbTcqgYmr1rXlg" type="text/javascript"></script> 
    Clé localhost --> 
    <script src="http://www.google.com/jsapi?key=ABQIAAAAEobLGDxmyE-A9YknRQOjkBRBSQP7kN3nJ0TG1omTe6BwHiHeOBSf0Z4zFlArCAZ6g9Hu-lT6VojEeQ" type="text/javascript"></script> 

    <script type="text/javascript"> 
     // Récupération des données utilisateurs 
     google.load("gdata", "1") 
    </script> 
</head> 

<body> 
    <input type='checkbox' id='drop-remove' /> <label for='drop-remove'>remove after drop</label> 
    <div class='external-event'>My Event 1</div> 
    <div class='external-event'>My Event 2</div> 
    <div class='external-event'>My Event 3</div> 
    <div class='external-event'>My Event 4</div> 
    <div class='external-event'>My Event 5</div> 


    <div id="calendar" style="width:900px; margin: 0 px auto;"></div> 
    <img src="images/any.jpg" style="position:absolute; top:-10000px;" /> 

    <input type="button" value="Affiche Event private" onclick="alert(retriveEvent())" /> 
    <input type="button" value="login" onclick="getMyFeed();" /> 
    <input type="button" value="info" onclick="alert(doCheck());" /> 
    <input type="button" value="logout" onclick="doLogout();" /> 
    <input type ="button" value="refresh" onclick="$('#calendar').fullCalendar('refetchEvents');" /> 
    <input type="button" value="affiche date" /> 

    <div id="val"></div> 
</body> 
</html> 
+0

什么语言?请正确标记。 – vulkanino 2012-03-08 10:19:13

+0

完成,对不起:) – Biwaa 2012-03-08 10:20:38

+2

如果您自己想出问题的答案,请将其作为回答(底部的“回答您的问题”按钮),而不是编辑问题的答案。 – josh3736 2012-03-08 18:34:40

回答

0

好吧,我错了。

答案是我使用了坏对象。我试图用“开始”,而不是“事件”

以及良好的代码是这一个:

eventResize: function(event,dayDelta,minuteDelta,revertFunc) { 
     alert(event.start); 
     alert(event.end); 
     /* 
     alert(
      "The end date of " + event.title + "has been moved " + 
      dayDelta + " days and " + 
      minuteDelta + " minutes." 
     ); 
     */ 
     // Demande la confirmation du redimenssionnement 
     if (!confirm("Confirmation la modification?")) { 
      revertFunc(); 
     } else { 
      alert(event.title); 
      alert('event édité'); 
     } 
    }, 
+0

你可以接受你自己的答案(FYI) – rlemon 2014-03-17 16:11:24

+0

你是对的:D完成;) – Biwaa 2014-03-17 16:11:51

相关问题