Fullcalendar - 在数据库中保存事件
Fullcalendar - save events in database
我有以下标记:
我有一个完整日历的实例。
单击某一天(触发 dayClick
-回调)时,将打开 bootstrap 模式,用户可以在其中输入标题和 start/end 日期。单击确定后,提供的那些值将添加到日历中。这是它的代码:
function addTitle(){ //having a button onClick="addTitle()"
var title = $('#add_date_title').val();
var startdate = $('#add_date_startdate').val();
var enddate = $('#add_date_enddate').val();
var end_split = enddate.split('-');
end_split[2]= parseInt(end_split[2])+parseInt("1");
enddate = end_split[0] + "-" + end_split[1] + "-" + end_split[2];
$('#add_date_title').val('');
$('#add_date_startdate').val('');
$('#add_date_enddate').val('');
$('#add_date_modal').modal('hide');
var myCalendar = $('#calendar');
var myEvent = {
title:title,
allDay: true,
start: startdate,
end: enddate
};
myCalendar.fullCalendar( 'renderEvent', myEvent );
}
所以活动现在在日历中。但是当例如切换月份,或重新加载页面,所有数据都丢失了,当然,因为它无处保存。
现在的问题是:如何将事件直接保存到数据库中,然后加载它,那么我在哪里可以引入php代码,将事件保存到数据库中...问题,我为什么要问,是永远不会重新加载添加事件之间的站点,所以我无法检查 GET 或 POST-Parameters 或类似的东西......我可以用 AJAX?如果是,如何?因为我对AJAX.
不是很熟悉
您实际上可以将事件保存在数据库中。
- 在模态触发器之后使用此 ajax。
获取模态中的标题、开始日期、结束日期等值并在下面发送 ajax
$.ajax({
url: 'add_events.php',
data: 'title='+ title+'&start='+ start2 +'&end='+ end2,
type: "POST",
success: function(json) {
$( "#getReason" ).modal('hide');
$('#mydiv').hide();
$('body').removeClass('blockMask');//calendar.fullCalendar( 'refetchEvents');
$('#calendar').fullCalendar('refetchEvents');
}
});
in add_events.php 将详细信息保存在 db
在您的主页中使用此方法动态创建事件源
function eventSourceCall(){
eventSourceCall = [
{
url: 'events.php?status=absent',
backgroundColor: 'red',
borderColor: 'white',
textColor: 'white',
rendering: 'background',
cache: false
}
在 events.php 中执行 select 操作并将事件参数检索为 json 编码的 objects 和 return 它们。
在日历函数中 eventSources: eventSourceCall,
添加此行以 select 事件源。
我有以下标记:
我有一个完整日历的实例。
单击某一天(触发 dayClick
-回调)时,将打开 bootstrap 模式,用户可以在其中输入标题和 start/end 日期。单击确定后,提供的那些值将添加到日历中。这是它的代码:
function addTitle(){ //having a button onClick="addTitle()"
var title = $('#add_date_title').val();
var startdate = $('#add_date_startdate').val();
var enddate = $('#add_date_enddate').val();
var end_split = enddate.split('-');
end_split[2]= parseInt(end_split[2])+parseInt("1");
enddate = end_split[0] + "-" + end_split[1] + "-" + end_split[2];
$('#add_date_title').val('');
$('#add_date_startdate').val('');
$('#add_date_enddate').val('');
$('#add_date_modal').modal('hide');
var myCalendar = $('#calendar');
var myEvent = {
title:title,
allDay: true,
start: startdate,
end: enddate
};
myCalendar.fullCalendar( 'renderEvent', myEvent );
}
所以活动现在在日历中。但是当例如切换月份,或重新加载页面,所有数据都丢失了,当然,因为它无处保存。
现在的问题是:如何将事件直接保存到数据库中,然后加载它,那么我在哪里可以引入php代码,将事件保存到数据库中...问题,我为什么要问,是永远不会重新加载添加事件之间的站点,所以我无法检查 GET 或 POST-Parameters 或类似的东西......我可以用 AJAX?如果是,如何?因为我对AJAX.
不是很熟悉您实际上可以将事件保存在数据库中。
- 在模态触发器之后使用此 ajax。
获取模态中的标题、开始日期、结束日期等值并在下面发送 ajax
$.ajax({ url: 'add_events.php', data: 'title='+ title+'&start='+ start2 +'&end='+ end2, type: "POST", success: function(json) { $( "#getReason" ).modal('hide'); $('#mydiv').hide(); $('body').removeClass('blockMask');//calendar.fullCalendar( 'refetchEvents'); $('#calendar').fullCalendar('refetchEvents'); } });
in add_events.php 将详细信息保存在 db
在您的主页中使用此方法动态创建事件源
function eventSourceCall(){ eventSourceCall = [ { url: 'events.php?status=absent', backgroundColor: 'red', borderColor: 'white', textColor: 'white', rendering: 'background', cache: false }
在 events.php 中执行 select 操作并将事件参数检索为 json 编码的 objects 和 return 它们。
在日历函数中
eventSources: eventSourceCall,
添加此行以 select 事件源。