2010-12-02 24 views
2

http://arshaw.com/fullcalendar/からFullCalendarをColdFusionで実装しました。私は外からカレンダーにイベントをドロップします。これがうまく機能しているが、私はこれを行う必要がありFullCalendar:イベントを削除しますが、このイベントを更新できません

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

でイベントを更新することはできません、私はイベントにDEMデータベースからの新しいIDを置くことができ、サイズ変更などの他のアクションのために、他にドロップまたは削除することができます。

私はサイト全体からリロードを行うことができますが、実際にはユーザフレンドリーではありません。なぜなら、月は実際には月で、前に選択した月ではないからです。

私のコードは次のようになります

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); 
    } 
     }); 
}, 

誰もが私が間違ってプログラミングをしています何のアイデアを持っていますか?

+0

ここに投稿できないというエラーが表示されますか? –

+0

コンソールを使用している場合は、console.log(responseText)を追加し、返される内容を確認してください –

+2

私の推測では、NewIDは大文字である可能性があります。 –

答えて

2

JavaScriptは大文字と小文字が区別されるように、この行する必要があります

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

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

私はそれを変更しましたが、それは同じエラーです。 – Bettina

3

ことfullcalendarのドキュメントを参照してください: arshaw fullcalendar updateEvent

あなたが使用するためのイベントを必要としますupdateEventメソッド:

$.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

はい、これは問題のようです。しかし、大文字のNewIDは引き続き問題を引き起こす可能性があります。 – Knossos

+0

確かに私の悪い..コメントを編集しました! – kasperxb

関連する問題