2010-12-02 14 views
2

J'ai implémenté le FullCalendar à partir de http://arshaw.com/fullcalendar/ avec ColdFusion. Je dépose les événements de l'extérieur au calendrier. Cela fonctionne bien, mais je ne peux pas mettre à jour l'événement avecFullCalendar: Supprimer un événement mais ne peut pas mettre à jour cet événement

$('#calendar').fullCalendar('updateEvent', responseText.NewID); 

que je dois faire, que je peux mettre le nouvel ID de base de données dem sur l'événement, pour d'autres actions comme Redimensionner, Laissez tomber à d'autres Jour ou pour le supprimer.

Je pourrais faire un rechargement de tout le site, mais ce n'est pas vraiment convivial, car le mois serait le mois et pas le mois que j'ai choisi auparavant.

Mon code ressemble à ceci:

drop: function(date, allDay) { // this function is called when something is dropped 

    // retrieve the dropped element's stored Event Object 
    var originalEventObject = $(this).data('eventObject'); 

    // we need to copy it, so that multiple events don't have a reference to the same object 
    var copiedEventObject = $.extend({}, originalEventObject); 

    // assign it the date that was reported 
    copiedEventObject.start = date; 
    copiedEventObject.allDay = allDay; 

    // render the event on the calendar 
    // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/) 
    $('#calendar').fullCalendar('renderEvent', copiedEventObject, true); 

    var formdata = "startdatum="+copiedEventObject.start; 

    $.ajax({ 
    url: '<cfoutput>#application.TartalomURL#</cfoutput>mod_Kalender/act_event_ins.cfm', 
    data: formdata, 
    type: "POST", 
    dataType: "json", 
    cache: false, 
    success: function(responseText){ 
    $('#calendar').fullCalendar('updateEvent', responseText.NewID); 
    } 
     }); 
}, 

Est-ce que quelqu'un a une idée de ce que je programmation mal?

+0

Obtenez-vous une erreur que vous pouvez poster ici? –

+0

Si vous utilisez la console, ajoutez console.log (responseText) et voyez ce qui revient –

+2

Je suppose que NewID peut être en majuscules. –

Répondre

2

Comme JavaScript est sensible à la casse, si cette ligne:

$('#calendar').fullCalendar('updateEvent', responseText.NewID) 

être

$('#calendar').fullCalendar('updateEvent', responseText.newid) 
+0

Je l'ai changé, mais c'est la même erreur. – Bettina

3

S'il vous plaît se référer à la documentation fullcalendar: arshaw fullcalendar updateEvent

Vous avez besoin de l'événement pour l'utilisation de la méthode updateEvent, par exemple:

$.ajax({ 
    url: '<cfoutput>#application.TartalomURL#</cfoutput>mod_Kalender/act_event_ins.cfm', 
    data: formdata, 
    type: "POST", 
    dataType: "json", 
    cache: false, 
    success: function(responseText){ 
     originalEvent.id = responseText.newid; //use the originating event object and update it 
     $('#calendar').fullCalendar('updateEvent', originalEvent); 
    } 
    }); 
+0

Oui, cela ressemble au problème. Cependant, le NewID majuscule peut toujours causer un problème. – Knossos

+0

Bien sûr .. mon mauvais .. édité le commentaire! – kasperxb