<input   type=file   name=file1   style="display:none"   onchange="document.all.abc.value=this.value">   
  <input   type="text"   name="abc"   value="d:\......">   
  <input   type="button"   value="open"   onclick="document.all.file1.click()"   class=inputbox1>参考这个

解决方案 »

  1.   

    楼上大哥,我想在servlet中的到浏览文本框的值,可是不能直接用request.getParamenter("file")得到。所以我先
    用javascript得到它的值,放在一个hidden标签里, 然后提交表单时再从hidden中获取 如下: <SCRIPT Language=javascript>
    function skip()
    {
    document.all.k1.value=document.all.file1.value;
    location="firstservlet";

    }
    </SCRIPT>  <form  name="form1" action="" >
        <input   type=hidden  name=k1> 
        <input name=file1 type="file" onchange="skip()">
        </form>其中,firstservlet为我定义的servlet  java程序,我在其中用String sStr=request.getParameter("k1")试图得到其值,但sStr总是空,为什么呢 
      

  2.   

    加入(54998705)web开发技术交流群,让我们更多的人在一起分享讨论问题吧
      

  3.   

    你的hidden  要初始化一下  写个 value=“”
      

  4.   

    有文件上传时,http采用流方式传输,request.getParameter失效
      

  5.   

    你用下面的js试试看
    <script language="JavaScript">
    function doCheck()
    {
    alert(document.all("theFile").value);
    }
    </script><html:form action="uploadAction" enctype="multipart/form-data">
    <html:file property="theFile"/>
    <html:submit property="OK" onclick="doCheck()"/>
    </html:form>
    </html:html>用document.all你就可以取到了
      

  6.   

    如果指定enctype="multipart/form-data",request.getParameter("")就返回null。
    当然你可以自己解析http传过来的二进制流,不过有那么多成熟的上传组件为什么不用?smartupload,common-fileupload等等。