模态窗口不会显示来自Javascript调用

时间:2015-02-27 17:42:43

标签: javascript jquery twitter-bootstrap fullcalendar uncaught-typeerror

我试图从fullcalender.js插件中弹出一个表单。我在bootstrap模式div中有表单,我试图弹出它,填写它并将细节提交给数据库等。

问题是模态不会显示,我已阅读SO links such as this one并已修改代码     this fiddle我已经复制/粘贴那个在那里工作的小提琴,但不适合我,是否存在问题因为我的是.jsp页面或者我缺少.js文件。

我包含了所有bootstrap和fullcallender .js文件,有什么建议吗?

  $('#myModal').modal('show');

这应该正常吗?但它似乎不是

修改

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>       
    <script>window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>');</script>

    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
    <script src="js/moment.min.js"></script>       
    <script src="js/fullcalendar.min.js"></script>

    <script type="text/javascript">

        $(document).ready(function () {

            var calendar = $('#calendar').fullCalendar({
                header: {
                   ...etc
                },                  
                defaultView: 'agendaWeek',
                editable: true,
                selectable: true,
                selectHelper: true,
                height: 846,
                select: function (start, end, allDay) {
                    endtime = $.fullCalendar.formatDate(end, 'h:mm tt');
                    starttime = $.fullCalendar.formatDate(start, 'ddd, MMM d, h:mm tt');
                    var mywhen = starttime + ' - ' + endtime;
                    $('#createEventModal #apptStartTime').val(start);
                    $('#createEventModal #apptEndTime').val(end);
                    $('#createEventModal #apptAllDay').val(allDay);
                    $('#createEventModal #when').text(mywhen);
                    $('#createEventModal').modal('show');
                }
            });

修改

我的错误是未捕获的TypeError:undefined不是函数

在这一行

 endtime = $.fullCalendar.formatDate(end, 'h:mm tt');

1 个答案:

答案 0 :(得分:0)

解决了:)

我曾在较新版本的fullcalender.js中更新过的方法。我正在使用它,

 endtime = $.fullCalendar.formatDate(end, 'h:mm tt');
 starttime = $.fullCalendar.formatDate(start, 'ddd, MMM d, h:mm tt');

当我应该使用它时,

 starttime = moment(start).format('ddd, MMM do, h:mma ');
 endtime = moment(end).format('ddd, MMM do, h:mma ');

感谢您的帮助,希望这有助于其他人。