>更新:
对,这就是我想要的解决方案。当用户单击"取消"按钮时,它将尝试查找要取消的文件的文件名,然后删除包含该文件名的数据库行。
问题是它无法识别文件名,因为它指出imagecancelname=undefined
.由于这是未定义的,因此它无法删除包含文件名的数据库行,因为它无法识别文件名。
所以问题是,我怎样才能imagecancelname
识别要取消的文件的名称,以便它可以用来删除包含文件名的数据库行?
以下是当前的表单代码:
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return startImageUpload(this);' class='imageuploadform' >" +
"Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
"</p><p class='imagef1_cancel' align='center'></p>" +
"<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>");
下面是startImageUpload函数,它在文件上传时显示取消按钮,如果用户单击取消按钮,它包含取消按钮功能:
function startImageUpload(imagecancelname){
$('.imagef1_cancel').eq(window.lastUploadImageIndex).html('<div><button type="button" class="imageCancel" image_cancel="' + imagecancelname + '">Cancel</button></div>');
$('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click", function(event) {
var image_cancel = $(this).attr('image_cancel');
var url = 'cancelimage.php';
window.location=url+"?imagecancelname=" + image_cancel;
});
return true;
}
最后,下面是 cancelimage.php 脚本,当用户单击"取消"按钮时,它将导航到此脚本,这是脚本用于通过使用 $GET 方法查找文件名来删除数据库行的地方。
<?php
... connected to DB
$image_cancel = $_GET["imagecancelname"];
$imagecancelsql = "DELETE FROM Image
WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($image_cancel)."'";
mysql_query($imagecancelsql);
mysql_close();
?>
在javascript中,你可以添加一个额外的php文件来从数据库中删除一行。
在 js 中添加以下内容(删除时(:
window.location=url+"?"+id;
url
= PHP 文件所在的路径
id
= 要删除的行 ID
然后添加一个 php 文件来执行数据库操作
<?php
$imagecancelsql = "DELETE FROM Image
WHERE ImageFile = 'ImageFiles/".
mysql_real_escape_string($_FILES['fileImage']['name'])."'";
mysql_query($imagecancelsql);
Id 是一个参数,你需要从 javascript 作为参数传递。例如:如果要删除具有名称black
的图像,请通过在Javascript中:
var image = 'black';
window.location=url+"?id="+image;
稍后在 php 文件中使用以下方法获取 id 的值:
$image = $_GET['id'];
然后执行查询:
$imagecancelsql = "DELETE FROM IMAGE WHERE IMAGEFILE = $image";