photos[] 是一组照片名称,
foreach($photos as $key=>$value)
{
@$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>';
}
因此,当单击第一张照片的删除图标时,它工作得很好,但其他人显示此错误:
ReferenceError: img is not defined
photos[] 是一组照片名称,
foreach($photos as $key=>$value)
{
@$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>';
}
因此,当单击第一张照片的删除图标时,它工作得很好,但其他人显示此错误:
ReferenceError: img is not defined
该img变量被全局存储,这意味着每次加载新图像时它都会被覆盖。相反,您应该为图像分配唯一 ID,并让它们的删除按钮按 ID 删除图像。例如:
foreach($photos as $key=>$value)
{
@$blocks .= '<div><img src="'.$value.'" id="img'.$key.'"><img src="remove.png" onclick=remove_image(document.getElementById("img'.$key.'"))></div>';
}
(我对 PHP 不是很熟悉,如果我在某处犯了语法错误,很抱歉)
谢谢LukeGT,你的回答是对的,不过我发现还是用jquery处理比较好,
onclick="remove_image($(this).prev())"
或者
onclick="remove_image($(this).parent())"
删除整个 div。
单击删除按钮时,您应该刷新页面。