2017-08-04 110 views
0

當我編輯一個事件時,它將被添加到日曆中,但除非刷新頁面,否則不會被修改。提交後的FullCalendar更新事件

我可以看到我們必須使用:('重新獲取事件'),但似乎它不適用於我。

我使用相同的模態形式進行添加和編輯。我是否正確使用「重新獲取事件」?這裏是我的代碼:

$('#event_form_save').on('click', function(e) { 
    e.preventDefault(); 
    if ($('#event_form_eventId').val() === '') { 
    var formURL = "{{ path('Event_Add') }}"; 
    } else { 
    var formURL = "{{ path('Event_Edit') }}"; 
    } 
    console.log(formURL); 
    var formdata = { 
    calendarId: ($('#event_form_calendarId').val()), 
    eventId: ($('#event_form_eventId').val()), 
    title: ($('#event_form_title').val()), 
    startDate: ($('#event_form_startDate').val()), 
    endDate: ($('#event_form_endDate').val()), 
    color: ($('#event_form_color').val()), 
    }; 
    $.ajax({ 
    url: formURL, 
    type: 'POST', 
    data: JSON.stringify(formdata), 
    dataType: 'json', 
    contentType: 'application/json', 
    cache: false, 
    processData: true, 
    success: function(data, textStatus, jqXHR) { 
     $('#calendar').fullCalendar('refetchEvents'); 
     doSubmit(data.eventId); 
     console.log(data.succeed); 
     if (data.succeed == true) { 
     alert('true') 
     } else { 
     alert('false') 
     }; 
     console.log(data); 
    }, 
    error: function(jqXHR, textStatus, errorThrown) {} 
    }); 
}); 
+0

「似乎並不爲我工作。」沒有足夠的細節。出了什麼問題?您的新/更改事件是否正確保存在數據庫中?然後它是由服務器方法返回的,它檢索fullCalendar的事件?你如何在fullCalendar中定義事件饋送?當您調用refetchEvents時,fullCalendar是否向服務器發出了新的ajax請求(請在瀏覽器中檢查您的網絡工具)?它是否成功?您的新/被更改的事件是否包含在結果響應中?我們不知道過程中的哪個點出現問題,並且並非所有相關的代碼都顯示在問題中。 – ADyson

回答

0
 
$('#calendar').fullCalendar({ 

eventResize: function (event, delta, revert) { 

       alert(event.title + " to now " + event.end.format()); 

       if (!confirm("is it okay?")) { 
        revert(); 
       } 

      }, 
}); 
+4

不要只是轉儲代碼,解釋你的答案。 –