Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php内部javascript错误引用错误:未定义img_Php_Javascript - Fatal编程技术网

php内部javascript错误引用错误:未定义img

php内部javascript错误引用错误:未定义img,php,javascript,Php,Javascript,photos[]是一组照片名称 foreach($photos as $key=>$value) { @$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>'; } foreach($key=>$value) { @$blocks.=''; } 因此,当单击第一张

photos[]是一组照片名称

foreach($photos as $key=>$value)
{
    @$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>';
}
foreach($key=>$value)
{
@$blocks.='';
}
因此,当单击第一张照片的删除图标时,它工作正常,但其他照片显示此错误:


ReferenceError:img未定义

单击“删除”按钮时应刷新页面。

全局存储
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>';
}
foreach($key=>$value)
{
@$blocks.='';
}

(我对PHP不太熟悉,如果我在某个地方犯了语法错误,我很抱歉)

谢谢你,LukeGT,你的答案是对的,但我发现使用jquery来处理它更好

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


要删除整个div.

请使用$key并删除$a$键将是数组中照片的索引,因此是唯一的。
onclick="remove_image($(this).parent())"