我有以下标记:
我有一个 fullcalendar 的实例。
当点击某一天时(触发dayClick
-callback),打开引导模式,用户可以在其中输入标题和开始/结束日期。单击“确定”后,提供的那些值将添加到日历中。这是代码:
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 参数或类似的东西...我可以使用 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');
}
});
在 add_events.php 中将详细信息保存在数据库中
-
在您的主页中使用此方法动态创建事件源
function eventSourceCall(){
eventSourceCall = [
{
url: 'events.php?status=absent',
backgroundColor: 'red',
borderColor: 'white',
textColor: 'white',
rendering: 'background',
cache: false
}
在 events.php 中执行选择操作并以 json 编码对象形式检索事件参数并返回它们。
在日历功能中eventSources: eventSourceCall,
添加此行用于选择事件源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)