0

我在 Stackoverflow 中搜索了我的问题的答案:如何将丢弃的外部事件立即保存到数据库中。通过对话框添加和更新事件可以正常工作。拖动的外部事件渲染良好。这是我在 eventReceive 函数中使用的代码。显示事件数据的第一个警报是正确的,但从未达到第二个警报。

eventReceive: function (event, delta, revertFunc) {

                alert(event.title + " was dropped on " + event.start.format()); //REPLACE WITH AJAX TO SAVE EVENT DATA
                var eventToAdd = {
                    title: event.title,
                    description: "Unknown",
                    start: event.start.format,
                    end: event.end.format,

                    allDay: isAllDay(event.StartDate, event.EndDate)
                };
                if (checkForSpecialChars(eventToAdd.title) || checkForSpecialChars(eventToAdd.description)) {
                    alert("please enter characters: A to Z, a to z, 0 to 9, spaces");
                }
                else {
                    alert(event.title + " was dropped on " + event.start.format());
                    PageMethods.addEvent(eventToAdd, addSuccess);
                }
            },

我挖得更深,据我所知,一旦鼠标悬停在页面中的任何元素上,var eventToAdd JQuery 3.3.1 就会一遍又一遍地触发相同的功能。涉及的函数有:matchFromGroupMatchers、elementmatcher、prefilter 和 Sizzle。fullcalendar 的 javascript 不会恢复。

4

1 回答 1

1

似乎变量 eventToAdd 正在使用中。将其更改为其他名称解决了它。我现在这样:

eventReceive: function (event) {

                   // alert(event.title + " was dropped on " + event.start.format());
                    var eventAdd = {
                        start: event.start.format(),
                        end: event.end.format(),
                        title: event.title,
                        description: "Onbekend",
                        hwType: "Proefwerk",
                    };
                    PageMethods.addEvent(eventAdd, addSuccess);

            },
于 2018-02-21T08:56:17.127 回答