更新活动完整日历

时间:2018-06-21 11:29:05

标签: jquery fullcalendar

我的updateEvent函数有问题。 我是第一次

eventClick: function(event, element) {
    var title_modified = prompt('Event Title:');
    var desc_modified = prompt('Event Description:');
    var eventData;
    if (title_modified) {
        event.title = title_modified;
        event.description = desc_modified;
        $('#calendar').fullCalendar('updateEvent', event); // stick? = true
    }
}

这正在工作,我可以单击一个事件并更新他。

但是我想尝试其他解决方案以在对话框表单中更新

所以我在js中添加了它

eventRender: function(event, element) {
    element.attr('href', 'javascript:void(0);');
    element.click(function() {
      $("#title_input").attr({
        value: event.title
      });
      $("#event").attr({
        value: JSON.stringify(JSON.decycle(event))
      });
      $("#title").html(event.title);
      $("#startTime").html(moment(event.start).format('MMM Do h:mm A'));
      $("#endTime").html(moment(event.end).format('MMM Do h:mm A'));
      $("#eventInfos").html(event.description);
      $("#eventLink").attr('href', event.url);
      $("#eventContent").dialog('open');
    });

以及相应的html表单

<div id="eventContent" title="Détail de la tache" style="display:none;">
    <form id="form_infos">
        <label for="title">Titre:</label><input type="text" name="title" id="title_input" /> Début: <span id="startTime"></span><br> Fin: <span id="endTime"></span><br><br>
        <label for="eventInfos">Description:</label><textarea rows="5" cols="30" name=eventInfos id="eventInfos"></textarea>
        <input id="event" type="hidden" />
        <input type="submit" value="Enregistrer" />
    </form>
</div>

这就是我的js处理表单的方式

var form_infos = document.getElementById('form_infos');
form_infos.addEventListener('submit', function(e) {
    var title_input = document.getElementById('title_input');
    var result = (title_input.value != '');
    var description_input = document.getElementById('eventInfos');
    if (result) {
        alert('Modifications ok');
        var event_task = document.getElementById('event');
        var event = JSON.parse(event_task.value);
        event.title = title_input.value;
        event.description = description_input;
        $("#eventContent").dialog('close');
        $('#calendar').fullCalendar('updateEvent', event);
    } else {
        alert('Task must have title');
    }
    e.preventDefault();
});

但是,当我尝试提交时,事情就变成了这种事情,而不仅仅是用单击来更新事件。这次,我的网址再次被调用类似

MYURL?title=....&eventInfos=....

我以前认为这是由于html表单引起的,但是如果我删除updateEvent,则不会调用该url。因此它必须从那里来...您知道如何解决此问题吗?

谢谢。

0 个答案:

没有答案