因此,基本上,我有一个事件,当我单击它时,我想在数据库中更改该事件的值。想法就是这样(此代码无效)
grid-template-columns
更新任务代码
eventClick: function(calEvent, jsEvent, view) [<?php
while($row_events = mysqli_fetch_array($resultado_events)){
?>
{
location.href = "update_task.php?id=<?php echo $fetch['id'];?>";
},<?php
}
?>]
更新任务上的代码正在工作,因为我在常规页面上进行了测试,fullcalendar中的代码无法正常工作。预先感谢。
答案 0 :(得分:-1)
您打印的location.href
网址错误。
更改
location.href = "update_task.php?id="'.$fetch['id'].';
到
location.href = "update_task.php?id=<?php echo $fetch['id'];?>";
答案 1 :(得分:-1)
您实际上并没有确切地说出问题所在,但是我可以看到您对“ eventClick”回调所做的事情没有任何意义。它将尝试为查询结果中的每个事件生成一个location.href
命令。这些都将作为一系列连续命令一个接一个地添加到JavaScript中。但是eventClick
仅定义一次。...因此,这意味着它将尝试同时导航到所有事件。
要添加此内容,您将PHP代码放置在错误的位置,因此您将以一些无效的JavaScript结尾。完成的JS看起来像这样:
eventClick: function(calEvent, jsEvent, view)
{ location.href = "update_task.php?id=1"; }
{ location.href = "update_task.php?id=2"; }
{ location.href = "update_task.php?id=3"; }
{ location.href = "update_task.php?id=4"; }
{ location.href = "update_task.php?id=5"; }
这显然是胡说八道,可能会产生语法错误。
即使您正确地完成了操作,最终也会得到如下所示的完成的JavaScript代码:
eventClick: function(calEvent, jsEvent, view) {
location.href = "update_task.php?id=1";
location.href = "update_task.php?id=2";
location.href = "update_task.php?id=3";
location.href = "update_task.php?id=4";
location.href = "update_task.php?id=5";
}
很明显,这a)无效,b)仍然无法正常工作。您将始终总是导航到第一个事件,因为这将是第一个被打印的location.href命令。
结论是:您无法使用PHP来实现此功能,因为在运行PHP并在服务器上生成页面时,您无法知道将要单击哪个事件。 ,因此您不能像这样预先设置ID。
幸运的是,eventClick callback提供了calEvent
参数,其中包含单击事件的详细信息。假设在JSON事件数据中,您将每个事件的id
提供给fullCalendar,那么您可以使用此值来构建已单击的特定事件的URL:
eventClick: function(calEvent, jsEvent, view) {
location.href = "update_task.php?id=" + calEvent.id;
}