我打算把图片上传成功后拼凑一个img标签,然后把标签写到父级页面的id为photo内容中去。
立即学习“Java免费学习笔记(深入)”;
这是父级页面:
<span id="photo"></span>
php上传成功后的代码:
if(move_uploaded_file($tmp, $path.$dir.$image_name)){
$src = "@@##@@";
//$src = 1;
echo "<script>parent.document.getElementById('photo').innerHTML = \"$src\";</script>";
}else{
echo <<<EOT
<script>alert('上传失败');history.go(-1)</script>
EOT;
}
exit;
浏览器报错如下:Uncaught SyntaxError: Unexpected token ILLEGAL
回复内容:
我打算把图片上传成功后拼凑一个img标签,然后把标签写到父级页面的id为photo内容中去。
立即学习“Java免费学习笔记(深入)”;
这是父级页面:
<span id="photo"></span>
php上传成功后的代码:
if(move_uploaded_file($tmp, $path.$dir.$image_name)){
$src = "@@##@@";
//$src = 1;
echo "<script>parent.document.getElementById('photo').innerHTML = \"$src\";</script>";
}else{
echo <<<EOT
<script>alert('上传失败');history.go(-1)</script>
EOT;
}
exit;
浏览器报错如下:Uncaught SyntaxError: Unexpected token ILLEGAL
非常不建议把php代码与js代码柔和在一起啊,很难理解。而且容易出错。分离分离分离。
没怎么用过php,看看是不是字符串连接的方式错了?php好像是用.来连接吧?
路径中的 \ 要转义
建议楼主学会拆分问题,你所说的问题可以拆分成两个单例:
1- iframe中执行js向父窗口传递信息
2- 图片上传处理
这样你能更准确的发现到底哪里出了问题。
对于1来说,可以这样测试
//a.html
<span id="s1"></span><iframe src="b.html"></iframe>
//b.html
<script>top.document.getElementById('s1').innerHTML = 'Test';</script>
对于2也是一样,不需要调用js,上传成功后直接echo '';











