簡體   English   中英

在全日歷中兩次切換表格的日期至星期或月份

[英]Double entry on switching form day to week or month in fullcalendar

當我嘗試滾動到全日歷上的其他視圖並嘗試在全日歷中將表單切換到全天或一周或一個月時,當我只輸入一個條目並且下一個動作是切換視圖時,母豬會出現兩次輸入的問題。 這沒有記錄到數據庫,一旦我注銷並再次登錄,問題就消失了。 所以這是在查看器中,但我不知道確切地去修復它。 有什么建議么?

當我僅添加一個並且滾動視圖顯示兩個條目時,此圖片顯示了查看器中的問題: 當我僅添加一個並且滾動視圖顯示兩個條目時,此圖片顯示了查看器中的問題。

我的HTML代碼也包含模式。 如果需要,我可以發布它。
我使用完整日歷的最新版本。
完整的日歷javascript代碼為:

$(document).ready(function () {
  var calendar = $('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'agendaDay,agendaWeek,month'
    },
    defaultView: 'agendaDay',
    editable: true,
    selectable: true,
    allDaySlot: false,
    displayEventTime: false,
    slotDuration: '02:00:00',
    contentHeight: 'auto',
    longPressDelay: 10,
    eventLongPressDelay: 20,
    selectLongPressDelay: 25,

    events: "index.php?view=1",

    eventAfterRender: function (event, element, view) {

        if (parseInt(event.title) >= 180) {
            element.css('background-color', '#F27F0C');


        element.css('color', '#000000');
        element.css('padding-left', '0.17em');
        //element.css('text-align','center');
        element.css('font-size', '1.47em');
    },

    eventClick: function (event, jsEvent, view) {
        endtime = $.fullCalendar.moment(event.end).format('h:mm');
        starttime = $.fullCalendar.moment(event.start).format('dddd, MMMM Do YYYY, h:mm');
        var mywhen = starttime + ' - ' + endtime;
        $('#modalTitle').html(event.title);
        $('#modalWhen').text(mywhen);
        $('#eventID').val(event.id);
        $('#calendarModal').modal();
    },


    select: function (start, end, jsEvent) {
        endtime = $.fullCalendar.moment(end).format('h:mm');
        starttime = $.fullCalendar.moment(start).format('dddd, MMMM Do YYYY, h:mm');
        var mywhen = starttime + ' - ' + endtime;
        start = moment(start).format();
        end = moment(end).format();
        $('#createEventModal #startTime').val(start);
        $('#createEventModal #endTime').val(end);
        $('#createEventModal #when').text(mywhen);
        $('#createEventModal').modal('toggle');
    },
    eventDrop: function (event, delta) {
        $.ajax({
            url: 'index.php',
            data: 'action=update&title=' + event.title + '&start=' + moment(event.start).format() + '&end=' + moment(event.end).format() + '&id=' + event.id,
            type: "POST",
            success: function (json) {
                //alert(json);
            }
        });
    },
    eventResize: function (event) {
        $.ajax({
            url: 'index.php',
            data: 'action=update&title=' + event.title + '&start=' + moment(event.start).format() + '&end=' + moment(event.end).format() + '&id=' + event.id,
            type: "POST",
            success: function (json) {
                //alert(json);
            }
        });
    }
});

$('#submitButton').on('click', function (e) {
    e.preventDefault();
    doSubmit();
});

$('#deleteButton').on('click', function (e) {
    // We don't want this to act as a link so cancel the link action
    e.preventDefault();
    doDelete();
});

function doDelete() {
    $("#calendarModal").modal('hide');
    var eventID = $('#eventID').val();
    $.ajax({
        url: 'index.php',
        data: 'action=delete&id=' + eventID,
        type: "POST",
        success: function (json) {
            if (json == 1)
                $("#calendar").fullCalendar('removeEvents', eventID);
            else
                return false;


        }
    });
}
function doSubmit() {
    $("#createEventModal").modal('hide');
    var title = $('#title').val();
    var startTime = $('#startTime').val();
    var endTime = $('#endTime').val();

    $.ajax({
        url: 'index.php',
        data: 'action=add&title=' + title + '&start=' + startTime + '&end=' + endTime,
        type: "POST",
        success: function (json) {
            $("#calendar").fullCalendar('renderEvent',
                    {
                        id: json.id,
                        title: title,
                        start: startTime,
                        end: endTime
                    },
                    true);
        }
    });

  }
});

好! 終於我找到了。 我必須在doSubmit函數中添加兩行代碼,代碼是: $('#calendar').fullCalendar('removeEvents'); $('#calendar').fullCalendar('refetchEvents');


到目前為止的功能:

function doSubmit() {
    $("#createEventModal").modal('hide');
    var title = $('#title').val();
    var startTime = $('#startTime').val();
    var endTime = $('#endTime').val();

    $.ajax({
        url: 'index.php',
        data: 'action=add&title=' + title + '&start=' + startTime + '&end=' + endTime,
        type: "POST",
        success: function (json) {
            $("#calendar").fullCalendar('renderEvent',
                    {
                        id: json.id,
                        title: title,
                        start: startTime,
                        end: endTime
                    },
                    true);
            $('#calendar').fullCalendar('removeEvents');
            $('#calendar').fullCalendar('refetchEvents');

        }
    });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM