贴出简化版的代码,和原来页面的框架和逻辑是一样的,不是不愿公开原来的只是精简一下大家更容易看,谢谢<html><head>
<script language="javascript">
var uploaded = false ;function upload_file()
{
try 
{
document.getElementById("file1").click() ;
}
catch(e) { alert(e.name+':'+e.message) ; }
}
</script>
<title>无标题</title>
</head><body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"><p>&nbsp;</p>
<label id="filename"></label><br>
<label id="upload" style="cursor:pointer" onclick="upload_file()">上传</label><br><form id="frmfile" enctype="multipart/form-data" action="ex1.php" method="POST">
<input type="file" name="file1" id="file1">
<!-- <input type="submit" value="完成"> -->
</form>
<label style="cursor:pointer" onclick="try {document.getElementById('frmfile').submit()}catch(e){alert(e.name+':'+e.message);}">完成</label>
</body></html>

解决方案 »

  1.   

    还真的木好意思,由于安全问题.IE仅允许你通过鼠标或键盘来操作进行文件选择,才能上传文件,你通过脚本来激发click事件来选择的文件根本没法上传的..
      

  2.   

    还有就是,有type=file的input字段的form,根本不能通过脚本来提
      

  3.   

    input1.onclick=function{file1.click()}
    试试。
    IE下可以,但在MOZILLA下就会被阻止。
      

  4.   

    多谢matrixy,至少让我死了那条心,但type=file的form好像是可以用脚本提交的,虽然我没有在action所指向的页面里具体的用move_upload_file处理上传的文件,但该页面正确的输出了$_FILES['file1']的信息,所以应该是提交成功了。另外,关于用disabled属性来阻止文件的上传我的推测是正确的么?
      

  5.   

    是正确的.用脚本当然能提交表单,但是如果有type=file字段的话,就会被阻止或出现未指明的错误....
      

  6.   

    在 <input type="file" name="file1" id="file1"> 的 onchange 属性中调用一个脚本来提交form 试试。