-1

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

4

3 回答 3

3

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 不是很熟悉,如果我在某处犯了语法错误,很抱歉)

于 2012-11-03T15:22:03.393 回答
1

谢谢LukeGT,你的回答是对的,不过我发现还是用jquery处理比较好,

onclick="remove_image($(this).prev())"

或者

onclick="remove_image($(this).parent())"

删除整个 div。

于 2012-11-03T16:16:22.353 回答
0

单击删除按钮时,您应该刷新页面。

于 2012-11-03T15:21:56.683 回答