如何解决刚添加的事件出现在屏幕上,但id不存在,因此当我们要编辑刚添加的事件而不刷新页面时,这是不可能的
我的问题是,成功添加事件后,它会显示在屏幕上,但不包含ID,因此,如果我们要编辑一个只是添加而未刷新页面的事件,则会出现错误,提示ID不匹配
添加功能如下。
function registSchedule() {
// 開始終了日付の調整
var startYmd = moment(formatNengappi($('#inputYmdFrom').val() + "00時00分00",1));
var endYmd = moment(formatNengappi($('#inputYmdTo').val() + "00時00分00",1));
var allDayCheck = $('#allDayCheck').prop("checked");
if (!allDayCheck) {
startYmd = moment(formatNengappi($('#inputYmdHmFrom').val() + "00",1));
endYmd = moment(formatNengappi($('#inputYmdHmTo').val() + "00",1));
}
if (endYmd.diff(startYmd,'days') > 0) {
endYmd = endYmd.add(+1,"days");
}
//非同期でサーバーにリクエストを送信
var EventData = {
id: $("#scheduleId").val(),title: $('#inputTitle').val(),start: startYmd.format("YYYY-MM-DDTHH:mm:ss"),end: endYmd.format("YYYY-MM-DDTHH:mm:ss"),allDay: allDayCheck,};
sendAjaxRequest("add_event",EventData);
}
sendAjaxRequest看起来像这样。
function sendAjaxRequest(method,EventData) {
var cal = $("#calendar").fullCalendar("getView");
EventData.searchStart = cal.start;
EventData.searchEnd = cal.end;
// 処理名を設定
var methodName = "登録";
if (method == "update") {
methodName = "更新"
} else if (method == "remove") {
methodName = "削除"
}
$.ajax({
url: "/fullcalendar/" + method,type: "GET",data: {'title': EventData.title,'start': EventData.start,'end': EventData.end,'id': EventData.id,'allDay':EventData.allDay},success: function(data) {
// カレンダー再描画
$('#calendar').fullCalendar( 'removeEvents',EventData.id );
$('#calendar').fullCalendar('renderEvent',EventData);
$('#inputScheduleForm').modal('hide');
alert("予定を" + methodName + "しました。");
console.log(EventData)
},error: function(data) {
alert("予定の" + methodName + "に失敗しました。");
}
});
$('#calendar').fullCalendar('unselect');
}
views.py看起来像这样。
def add_event(request):
title = request.GET.get("title",None)
start = request.GET.get("start",None)
end = request.GET.get("end",None)
event = Events(title=str(title),start=start,end=end)
event.save()
data = {}
return JsonResponse(data)
点击添加按钮后,console.log(EventData)的结果:
{id: "",title: "abcccc",start: "2020-08-21T00:00:00",end: "2020-08-21T00:00:00",allDay: true, …}
我应该在成功添加什么:函数(数据){}部分,以确保添加事件后不必刷新按钮来创建新的ID?
有人知道吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。