使用Ajax在Fullcalendar中保存事件

时间:2014-10-28 10:26:35

标签: javascript jquery ajax fullcalendar

我正在使用fullcalendar,我想在点击日历时保存事件。

这是我到目前为止所使用的,它使用表单中提交的元素而不是日历,例如我无法获取开始日期。

$('#calendar').fullCalendar({
...
select: function(start, end, allDay, event, resourceId) { 
$('#add_appt').modal(); //openthemodal

$(document).ready(function(){
    $('#EventAdd').submit(function(e) {
        SubmitAppointment();
        e.preventDefault();
    });
});

function SubmitAppointment(){
    hideshow('loading',1);
    error(0);
    $.ajax({
        type: "POST",
        url: "ajax.events.add.php",

// If I try this, I get all the elements of the form but no value for start I think it's my syntax that is wrong
        data: $('#EventAdd').serialize(),start: start, 

// If I try this, I get the start date but I don't know how to include the vales in EventAdd
        data: 'start='+ start,

        dataType: "json",

        success: function(msg){
            if(parseInt(msg.status)==1){
                $('#add_appt').modal('hide');
                //window.location=msg.txt;
            }else if(parseInt(msg.status)==0){
                error(1,msg.txt);
            }
        hideshow('loading',0);
        }
    });
}

有人可以帮我解释语法吗?因为我认为这就是问题所在。

2 个答案:

答案 0 :(得分:0)

所以我找到了自己问题的答案:

我用这个:

data: 'start='+ start+$('#EventAdd').serialize(),

而不是

data: $('#EventAdd').serialize(),start: start, 

答案 1 :(得分:0)

如果您要发送所有data值和<form>值,我认为您必须按照以下方式传递ajax调用的start参数:

data: $('#EventAdd').serialize() + "&start=" + start