页面代码如下:
<html:form action="/editPhoto.do" enctype="multipart/form-data" method="post">
input id="a" name="a" size="20">
<a href="#" style="color:#22676B;text-decoration: underline;" onclick="photo.click();">浏览 </a> 
<span style="position:relative;top:0;left:-90;width:100;filter:alpha(opacity=0);opacity:0;">
    <input type="file" id="photo" name="photo" onchange="a.value=this.value;" size="1">
</span>
<a href="#" class="menu3" onclick="uploadPhoto();"> 上传  </a> 
</html:form>js代码:
function uploadPhoto() {
  document.editPhotoForm.action ="editPhoto.do?method=uploadPhoto&zh=";
  document.editPhotoForm.submit();
}
注:此页面在iframe中,点击上传有时候页面报错:拒绝访问 
语句document.editPhotoForm.submit();没有执行

解决方案 »

  1.   

    editPhotoForm貌似不存在啊,在form中定义name属性为editPhotoForm应该就不会错了
      

  2.   

    已经定义了 struts-config.xml 中定义了
      

  3.   

    这种把file隐藏了然后通过JavaScript调用是不允许的,这样有安全问题,浏览器禁止这样做
      

  4.   

    这样做是因为浏览按钮不能国际化,所以加了链接出发file控件的onclick
    你有更好的办法吗
      

  5.   


    你是说文字不能国际化么?我记得那个控件应该是跟着系统走的...先不说这个,要更改样式似乎不是没有办法,网上好象有解决的办法,
    基本的方案好象是将file设为透明,然后底下是你的按钮,当用户点击这个按钮的时候实际上点击的仍然是那个file...具体怎么做就靠你自己研究了,给你发个连接
    http://www.jb51.net/article/13019.htm
      

  6.   

    换html的标签吧
    有时候struts的标签用得不怎么爽的