php父级页面代码:function change()
{
var address=window.showModalDialog("titleImgUpload.php",null,"dialogWidth=400px;dialogHeight=200px");
document.getElementById('titleImg').innerHTML='<img src="../img/'+address+'" width="299" height="210"/> <a href="javascript:change()">[更改图片]</a>';
}
<div id="titleImg">
<?
//$img是查询来的一个图片的路径,可能是为空的
if($img&&file_exists("../img/".$img))
{
echo '<img src="../img/'.$img.'" width="299" height="210"/>'.chr(13);
}else{
echo '无图片 ';
}
?>
<a href="javascript:change()">[更改图片]</a>
</div>
弹出页面titleImgUpload.php代码<?
if($_SERVER['REQUEST_METHOD']=='POST')
{
$path='../img/';
$name=$_FILES["tit"]["tmp_name"];
if(move_uploaded_file($_FILES["tit"]["tmp_name"],$name)){
echo '<script language="javascript">
alert("上传成功!");
window.returnValue="'.$name.'";
window.close();
</script>'.chr(13);
}
}
?>
<html>
<head>
<script type="text/javascript" language="javascript">
function check()
{
if(document.getElementById('tit').value=="")
{
alert("请选择要上传的图片");
return false;
}
document.myform.submit();
}</script>
</head>
<body>
<form id="myform" enctype="multipart/form-data" name="myform" method="post" action="">
<br>
<input name="tit" type="file" id="tit"/>
<a href="javascript:check()"/>[上传]</a>
</form>
</body>
</html>好..问题来了
上传时没问题的..但是我想要的效果是让上传结束后..弹出页面自动关闭..并且把图片名称作为窗体返回参数..并显示在父级页面上...可是这样写的效果就是...上传的弹出窗口提交了以后...提交的会是一个新窗口...在弹出"上传成功"后..新窗口是关闭了..可弹出窗口还在的...请教该怎么改才能实现我要的效果...谢谢!!!
{
var address=window.showModalDialog("titleImgUpload.php",null,"dialogWidth=400px;dialogHeight=200px");
document.getElementById('titleImg').innerHTML='<img src="../img/'+address+'" width="299" height="210"/> <a href="javascript:change()">[更改图片]</a>';
}
<div id="titleImg">
<?
//$img是查询来的一个图片的路径,可能是为空的
if($img&&file_exists("../img/".$img))
{
echo '<img src="../img/'.$img.'" width="299" height="210"/>'.chr(13);
}else{
echo '无图片 ';
}
?>
<a href="javascript:change()">[更改图片]</a>
</div>
弹出页面titleImgUpload.php代码<?
if($_SERVER['REQUEST_METHOD']=='POST')
{
$path='../img/';
$name=$_FILES["tit"]["tmp_name"];
if(move_uploaded_file($_FILES["tit"]["tmp_name"],$name)){
echo '<script language="javascript">
alert("上传成功!");
window.returnValue="'.$name.'";
window.close();
</script>'.chr(13);
}
}
?>
<html>
<head>
<script type="text/javascript" language="javascript">
function check()
{
if(document.getElementById('tit').value=="")
{
alert("请选择要上传的图片");
return false;
}
document.myform.submit();
}</script>
</head>
<body>
<form id="myform" enctype="multipart/form-data" name="myform" method="post" action="">
<br>
<input name="tit" type="file" id="tit"/>
<a href="javascript:check()"/>[上传]</a>
</form>
</body>
</html>好..问题来了
上传时没问题的..但是我想要的效果是让上传结束后..弹出页面自动关闭..并且把图片名称作为窗体返回参数..并显示在父级页面上...可是这样写的效果就是...上传的弹出窗口提交了以后...提交的会是一个新窗口...在弹出"上传成功"后..新窗口是关闭了..可弹出窗口还在的...请教该怎么改才能实现我要的效果...谢谢!!!
<head>
<script type="text/javascript" language="javascript">
function change()
{
var address=window.showModalDialog("titleImgUpload.php",null,"dialogWidth=400px;dialogHeight=200px");
document.getElementById('titleImg').innerHTML='<img src="../img/'+address+'" width="299" height="210"/> <a href="javascript:change()">[更改图片]</a>';
}
</script>
</head>
<body>
<div id="titleImg">
<?
//$img是查询来的一个图片的路径,可能是为空的
if($img&&file_exists("../img/".$img))
{
echo '<img src="../img/'.$img.'" width="299" height="210"/>'.chr(13);
}else{
echo '无图片 ';
}
?>
<a href="javascript:change()">[更改图片]</a>
</div>
</body>
</html>
<script type="text/javascript">
parent.document.getElementById("input_5").value = 'U1716P27T173D1F4430DT20110104100132.jpg'; //将窗口的表单填值
//parent.fb.end();//调用主窗口中弹出窗口句柄关闭,也可以本身关闭
</script>
首先你只在弹出窗口提交,提交处理只返回js代码。
你提交给自身的,不会在窗口打开,而且因为你可以控制js代码,所以可以不让它弹出其他窗口;
仔细查你窗口中的代码实在不行贴出来。在窗口上点右键-源码
function check()
{
if(document.getElementById('tit').value=="")
{
alert("请选择要上传的图片");
return false;
}
document.myform.submit();
}也是这句啊...难倒是这里有问题?