2012-03-08 4 views
1

Google 캘린더와 fullCalendar간에 전체 동기화 일정을 잡으려고합니다. 하지만 지금은 크기 조정시 date 객체에 문제가 있습니다."개체 # <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

+0

완료되었습니다. 죄송합니다. – Biwaa

+2

질문에 대한 답변을 직접 작성한 경우 질문에 대한 답변을 편집하는 대신 답변으로 게시하십시오 (하단의 "귀하의 질문에 답변"버튼). – josh3736

답변

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

+0

맞습니다 : D 완료;) – Biwaa

관련 문제