我希望在点击编辑图像时让我的编辑功能正常工作。我有一个编辑事件的功能,但是当我点击图像时它不会工作。单击事件时删除代码有效: 删除功能/编辑功能:
eventMouseover: function(event, domEvent) {
var layer = '<div id="events-layer" class="fc-transparent" style="position:absolute; width:100%; height:100%; top:-1px; text-align:right; z-index:100"><a><img src="../../images/editbt.png" title="edit" width="14" id="edbut'+event.id+'" border="0" style="padding-right:3px; padding-top:2px;" /></a><a><img src="../../images/delete.png" title="delete" width="14" id="delbut'+event.id+'" border="0" style="padding-right:5px; padding-top:2px;" /></a></div>';
$(this).append(layer);
$("#delbut"+event.id).hide();
$("#delbut"+event.id).fadeIn(300);
$("#delbut"+event.id).click(function() {
$.ajax({
url: '<?=base_url();?>testcalendar/fullcalendar/delete_events.php',
data: 'id=' + event.id ,
type: "POST",
});
var nTime = 1 * 50;
window.setTimeout("location.reload()", nTime);
});
$("#edbut"+event.id).hide();
$("#edbut"+event.id).fadeIn(300);
$("#edbut"+event.id).click(function() {
var title = prompt('Current Event Title: ' + event.title + '\n\nNew Event Title: ');
if(title){
$.ajax({
url: '<?=base_url();?>testcalendar/fullcalendar/update_title.php',
data: 'title='+ event.title+'&id='+ event.id ,
type: "POST",
});
}
});
},
delete_events.php:
<?php
$id = $_POST['id'];
try {
$bdd = new PDO('mysql:host=localhost;dbname=develop-calendar', 'root', 'root');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
$sql = "DELETE from evenement WHERE id=".$id;
$q = $bdd->prepare($sql);
$q->execute(array($id));
?>
update_title.php:
<?php
$id = $_POST['id'];
$title = $_POST['title'];
// connection to the database
try {
$bdd = new PDO('mysql:host=localhost;dbname=blackboks-calendar', 'calendar-boks', '19xantia');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
// update the records
$sql = "UPDATE evenement SET title=".$title "WHERE id=".$id;
$q = $bdd->prepare($sql);
$q->execute();
?>
当我点击编辑图标时,会出现编辑标题的提示,但当我输入新标题并单击确定时它不会更新。我认为我的update_title.php文件有问题,但我不确定。
答案 0 :(得分:0)
这里有一个问题
$sql = "UPDATE evenement SET title=".$title "WHERE id=".$id;
需要
$sql = "UPDATE evenement SET title=" . mysql_real_escape_string($title) . " WHERE id=" . mysql_real_escape_string($id);
答案 1 :(得分:0)
事实上,在我之前的答案中已经编辑过的空格。
如果您查看开发者控制台内的“网络”选项卡(大多数浏览器中为F12),您也可以尝试调试脚本返回的内容。
或检查ajax调用的结果。
$.ajax({
url: '<?=base_url();?>testcalendar/fullcalendar/delete_events.php',
data: 'id=' + event.id ,
type: "POST",
}).done(function(data) {
alert(data); // Only for testing
});