window.opener问题 type="submit" submit了,前面的页面就可以不存在了还有如果是file框的话,就不要浪费时间了,不能用脚本写值这么做的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要确认file_name这个东西存在其次,javascript最好标准点:window.opener.document.getElementById('file_name').value='<?php echo $upload_file;?>';最后,如果file_name是文件域就不行了,因为文件域的值是不能通过javascript来修改(只能获取)的。 主页面代码为:<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>";}}?>运行完,能上传,但不能返回去上一页面??? 这样是可以了,并没有动态修改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')" 你的关键字也改成别的 本人JS菜鸟,向高手请教如何修改表单内容 求正则表达式,只能输入数字、英文逗号。 ext通过xml格式来传值 请教关于cookie 请高人帮偶改写个函数,分不够,再加。 高手解答:怎么判断两个不同名字的单选框在提交情况下提示必须得选择一项! 关于一次选择多个checkbox的问题(解决即结贴) 如何判断一个字符串是全英文还是全中文的? vbscript传递数组给javascript问题,在线~~~~ 求助:jquery mobile 手指滑动swipe动作 的滑动距离设置 整个表格中输入框只输入数字 路过的javascript朋友请帮我看分析下,值为什么没传过来。
其次,javascript最好标准点:
window.opener.document.getElementById('file_name').value='<?php echo $upload_file;?>';最后,如果file_name是文件域就不行了,因为文件域的值是不能通过javascript来修改(只能获取)的。
<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>";
}
}
?>
运行完,能上传,但不能返回去上一页面???
<input name="submit" type="submit" id="submit" onClick="window.open('uploadfile.php')"
改成
<input name="submit1" type="button" id="submit1" onClick="window.open('uploadfile.php')" 你的关键字也改成别的