2015-12-13 2 views
0

У меня есть модальный плагин Bootstrap, из которого я пытаюсь удалить событие, созданное в FullCalendar. Во время моей первой попытки удаления событие исчезает из представления календаря, но запись mysql не удаляется. Причина, по которой я заметила, - calEvent.id, не получает значения во время моей попытки попытки удалить, но во второй попытке calEvent.id имеет значение, и я мог успешно удалить событие. Интересно, почему calEvent.id не может получить идентификатор события с первой попытки. Используя окно предупреждения, я заметил, что при первой попытке я получаю сообщение «undefined», я предполагаю, что его значение отсутствует, calEvent.id. Пожалуйста, найдите мой скрипт ниже.Не удалось удалить событие из полного календаря с первой попытки

$('#event_delete').on('click', function() {      
    $('#calendar').fullCalendar('removeEvents', calEvent.id); 

    $.ajax({ 
      data: "&id=" + calEvent.id, 
      type: "POST", 
      url: "http://localhost/book/js/delete_events.php"      
    }); 
    alert (calEvent.id); 
    CloseModalBox(); 
}); 

-------------- delete_events.php -----------

<?php 
try { 
    $bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', ''); 
} catch(Exception $e) { 
    exit('Unable to connect to database.'); 
} 
$id = $_POST['id']; 
$sql = "DELETE from evenement WHERE id=".$id; 
$q = $bdd->prepare($sql); 
$q->execute(); 
?> 
+0

Показать PHP код в 'delete_events.php', а – RiggsFolly

+0

Я извиняюсь, я добавил, что теперь RiggsFolly. Спасибо –

ответ

1

Эти данные должны быть переданы, как это: -

$('#event_delete').on('click', function() {      
    $('#calendar').fullCalendar('removeEvents', calEvent.id); 

    $.ajax({ 
      data: {id: calEvent.id}, 
      type: "POST", 
      url: "http://localhost/book/js/delete_events.php"      
      }); 
      alert (calEvent.id); 
      CloseModalBox(); 
}); 
+0

Спасибо RiggsFolly за ваш быстрый ответ. Я заметил, что «calEvent.id» по-прежнему не получает значения даже после его изменения. Обходной путь (не уверен, что его рекомендуемый способ) состоит в том, чтобы обновить всю страницу, а затем я мог бы получить значение для 'calEvent.id' –

+0

Только что заметил еще одну вещь. это происходит только в том случае, если я пытаюсь удалить только что созданный элемент. Если элемент уже был создан ранее (перед обновлением предыдущей страницы), значение 'calEvent.id' имеет значение для этого элемента. –

+1

Я понятия не имею, откуда вы получаете calEvent.id, но похоже, что что-то не так с тем, как это делается при добавлении нового события в календарь. – RiggsFolly

Смежные вопросы