0

我一直在使用 FullCalendar 并在 Firefox 中遇到了一些问题。我可以选择,开始日期以 IETF 格式出现。出于某种原因,IE8 能够发布此内容(并将其自动转换为时间戳),但 Firefox 不会。

它以 IETF 格式保留它,并且 PHP 的date()功能不适用于它。我将该fullCalendar.formatDate()功能用作解决方法,但这对我来说似乎不是最好的解决方案。

还有另一种方法可以使这项工作吗?

<script type='text/javascript'>
    $(document).ready(function () {
        var date = new Date();
        var calendar = $("#calendar").fullCalendar({
            theme: true,
            title: "Employee Calendar",

            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            buttonIcons: {prev: 'circle-triangle-w', next: 'circle-triangle-e'},
            editable: true,
            droppable: true,
            events: '<?php echo matry::base_to('utilities/calendar_events');?>',
            eventClick: function (event) {
                $.ajax({
                    url: '<?php echo matry::base_to('utilities/calendar_tools');?>',
                    type: 'POST',
                    data: {id: event.id, job: 'getEvent'},
                    success: function(data){
                        $("#event_box").fadeIn(500);
                        $("#event_info").html(data);        
                    }
                });
            },
            selectable: true,
            selectHelper: true,
            select: function (start, end, allDay){                                    
                var title = prompt('Event Title');
                start = $.fullCalendar.formatDate(start, 'yyyy-MM-dd HH:mm:ss');
                end = $.fullCalendar.formatDate(end, 'yyyy-MM-dd HH:mm:ss');
                if (title)
                {
                    $.ajax({
                        type: 'POST',
                        url: '<?php echo matry::base_to('utilities/calendar_tools');?>',
                        data: {title: title, start: start, end: end, allDay: allDay, job: 'createEvent'},
                        success: function(data) {
                            calendar.fullCalendar('refetchEvents' );
                            $("#alerts").html(data);
                        }//close success function
                    })//close ajax
                }
                else 
                    calendar.fullCalendar('unselect');
            }//close select function
        }); //close fullcalendar function

        $("#calendar_controls").accordion({
            collapsible: true,
            clearStyle:true,
            active: false,
            autoHeight: true
        });//close calendar controls

        $(document).on('submit', '#event_form', function (event){
            event.preventDefault();
                $.ajax({
                    url: '<?php echo matry::base_to('utilities/calendar_tools');?>',
                    type: 'POST',
                    data: $('#event_form').serialize(),
                    success: function(data){
                        $("#event_box").fadeOut('2000');
                        $("#alerts").html(data).focus();
                    }
                })    
        });//close on function

        $(document).on('click', '#delete', function() {
            var con = confirm('Do you want to delete this Event?');
            if (con)
            {
                var id = $("#event_form input[name= 'id']").val();
                $.ajax({
                    url: '<?php echo matry::base_to('utilities/calendar_tools');?>',
                    data: {id: id, job: 'deleteEvent'},
                    type: 'POST',
                    success: function(data){
                        $("#alerts").html(data).focus()
                        calendar.fullCalendar('refetchEvents');
                        $("#event_box").fadeOut(1000);
                    ;}
                });
            }
        })
    }); //close document.ready function
</script>
4

1 回答 1

0

Firefox 无法正确传递 IETF 日期格式,但可以使用看起来运行良好的 $.fullCalendar.formatDate() 函数更改日期。如果在日期过去的任何地方都添加了此项,则可以更改格式。

于 2012-09-13T17:47:01.020 回答