gpt4 book ai didi

javascript - onclick,删除未定义

转载 作者:行者123 更新时间:2023-11-28 01:38:02 28 4
gpt4 key购买 nike

我的代码有问题,但我找不到它不起作用的原因。

我正在使用 AJAX 创建文件删除链接。

我知道我的删除页面正在运行,但我的 JavaScript 无法访问它来删除文件。

这是我的代码的一部分。

formatoverzicht.php

<script type="text/javascript" src="/website/libraries/jquery.js">
function deleteFileAjax(filename) {
scriptitem = document.createElement('script');
scriptitem.type = 'text/javascript';
scriptitem.src = 'ajax.php?filename=' + filename;
scriptitem.id = 'ajax';
document.body.appendChild(scriptitem);
setTimeout('document.body.removeChild(document.getElementById("ajax"))', 500);
}

</script>

<?php
$results = $db->query("SELECT * FROM format");
echo "<table border= 1><tr><td>Bestands naam</td><td>Groote</td><td>Laatst aangepast</td> <td>Download</td><td>Verwijderen</td></tr>";

if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$filelocation = "uploads/". $file;

$filesize2 = filesize($filelocation);

if($filesize2 < '999'){
$size = "Byte";
}else if($filesize2 > '1000' && $filesize2 < '999999'){
$size = "KB";
$filesize = $filesize2 / 1000;
}else if($filesize2 > '1000000' && $filesize2 < '999999999'){
$size = "MB";
$filesize = $filesize2 / 1000000;
}else if($filesize2 > '1000000000' && $filesize2 < '999999999999'){
$size = "GB";
$filesize = $filesize2 / 1000000000;
}
$filesizeround = number_format((float)$filesize, 2, ',','');

if($file != '.' && $file != '..' && $file != "desktop.ini"){
$lastedit = date("j-n-o H:i", filemtime($filelocation));

$fileplace = "uploads/" .$file;

echo "<tr><td>".$file."</td><td>".$filesizeround. " " .$size."</td> <td>". $lastedit ."</td><td><a href='$fileplace' download='$file' '>Download</a></td><td>";
?> <button onclick="deleteFileAjax(<?php echo $file ? >)">Delete</button></td></tr><?php
}
}
closedir($dh);
}
}

?>

和ajax.php

<?php

if (isset($_GET['filename'])) {
if (unlink(htmlentities("uploads/". $_GET['filename']))) {
echo "Great success!";
}
}
?>

希望有人能帮我解决这个问题。

我想要的是,当您单击链接/按钮时,文件将被删除而无需刷新。如果这是带确认或不带确认并不重要。

至少感谢您的帮助。

最佳答案

当你调试 JavaScript 错误时,你应该始终查看渲染的源代码

onclick="deleteFileAjax(<?php echo $file ?    >)"

将呈现为

onclick="deleteFileAjax(MYFILE)"

那么你有变量 MYFILE 吗?不,它应该是一个字符串,因此需要引号

onclick="deleteFileAjax('<?php echo $file ?>')"
^ ^

关于javascript - onclick,删除未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261280/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com