type="submit" submit了,前面的页面就可以不存在了
还有如果是file框的话,就不要浪费时间了,不能用脚本写值这么做的.

解决方案 »

  1.   

    首先要确认file_name这个东西存在
    其次,javascript最好标准点:
    window.opener.document.getElementById('file_name').value='<?php echo $upload_file;?>';最后,如果file_name是文件域就不行了,因为文件域的值是不能通过javascript来修改(只能获取)的。
      

  2.   

    主页面代码为:
    <html>
    <body>
    <form name="form1" method="post" action="" id="form1">
      <table width="500" border="0" cellspacing="1" cellpadding="0">
        <tr>
          <td>上传文件</td>
          <td><input name="file_name" type="text" id="file_name"></td>
        </tr>
      </table>
      <input name="submit" type="submit" id="submit" onClick="window.open('uploadfile.php')" value="上传">
    </form></body>
    </html>上传页面代码为:
    <html>
    <head>
    <title>PHP_文件上传</title>
    </head>
    <body>
    <form name="upload_form" action="" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="5000000" /><!--限定文件大小为5M -->
    选择文件:<input name="upload_file" type="file" id="upload_file"/>
    <input name="submit" type="submit" id="submit"  onclick="if(confirm('是否进行上传?')){return true;}else{return false;}" value="上传"/>
    </form>
    </body>
    </html><?php
    $upload_file=$_FILES["upload_file"]["name"];        //获取文件名
    $upload_tmp_file=$_FILES["upload_file"]["tmp_name"];      //获取临时文件名
    $upload_filetype=$_FILES["upload_file"]["type"];    //获取文件类型
    $upload_status=$_FILES["upload_file"]["error"];   //获取文件出错情况
    $upload_dir="upfiles/";               //指定文件存储路径switch($upload_status)
        {
            case 0:echo "";break;
            case 1:echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。";break;
            case 2:echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";break;
            case 3:echo "文件只有部分被上传。";break;
            case 4:echo "没有文件被上传。";break;
            case 6:echo "没有找到临时文件目录。";break;
            case 7:echo "文件写入失败。";break;
            } //分析文件出错情况并给出提示$errorchar=array ("-"," ","~","!","@","#","$","%","^","&","(",")","+",",","(",")","?","!","“","”","《","》",":",";","——");//定义非法字符集foreach($errorchar as $char)
    {
        if(strpos($upload_file,$char)) 
            {
                $upload_file=str_replace($char,"_",$upload_file);
                echo "文件名中含有非法字符!已经替换为\"_\"<br>";
                }
        }//循环排除替换文件名中的非法字符$upload_path=$upload_dir.$upload_file; //定义文件最终的存储路径和名称if(is_uploaded_file($upload_tmp_file))
    {
     if(move_uploaded_file($upload_tmp_file,$upload_path)) {
    echo "文件已经成功上传,点击查看<a href=\"upfiles/".$upload_file."\" target=\"_blank\">".$upload_file."</a>";
    echo "<script language=javascript>";
    echo "window.opener.form1.file_name.value=".$upload_file;
    echo "window.close()";
    echo "</script>";
    }
    }
    ?>
    运行完,能上传,但不能返回去上一页面???
      

  3.   

    这样是可以了,并没有动态修改FILE框的值,上面已经说明一个原因为什么不行了,这句
    <input name="submit" type="submit" id="submit" onClick="window.open('uploadfile.php')" 
    改成
    <input name="submit1" type="button" id="submit1" onClick="window.open('uploadfile.php')" 你的关键字也改成别的