2012-11-03 32 views
-1

照片[]然后照片名称数组,JavaScript的PHP的错误的ReferenceError内:IMG没有定义

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

回答

1

谢谢LukeGT,你的答案是正确的,但我发现它更好地使用jQuery来处理它,

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

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

删除整个股利。

0

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

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,很抱歉,如果我做了什么地方一个语法错误)

+1

使用$键并放下$ a。 $ key将是数组中照片的索引,因此是唯一的。 –

相关问题