设置页面不缓存 <META HTTP-EQUIV="expires" CONTENT="0">  
看行不行

解决方案 »

  1.   

    filename1   会存值的静用掉就可以.
      

  2.   

    重新整理一下,问题说的更清楚了.............希望大家能帮忙下!谢谢
    页面结构如下: <html> 
    <form name="form1"  method="post" enctype="multipart/form-data" target="targetFrame"> 
    <input type="hidden" id="filename1" name="filename1"/> 
    <input type="hidden" id="filename2" name="filename2"/> 
    <input type="file" onchange="javascript:subFile()" name="file1" id="file1"/> 
    <input type="file" onchange="javascript:subFile()" name="file2" id="file2"/> 
    <iframe name="targetFrame" width="0" height="0"> </iframe> 
    </html> 
    function subFile() 
      var subPath= "....."; 
      document.form1.action = subPath; 
      document.form1.submit(); 

    function setFileName(fileName,fileNum)
    {
    document.getElementById('filename'+fileNum)= fileName;
    } 选择File框,会通过subFile方法,调后台计算出一个值,然后,后台调用setFileName方法,将这个值
    返回给前台的filename, 如果是选择的file1的File框,就会赋值给filename1. 如果是选择的file2的File框,就会赋值给filename2. 正常操作如下:
    步骤1:选择file1,提交给后台,后台调用setFileName方法,向filename1赋一个数值!
    步骤2:选择file2,提交给后台,后台,request.getParameter("filename1"),可以获得刚才向filename1赋的数值!
    并调用setFileName方法,向filename2赋一个数值
    我本来以为刷新后,以前赋的filename1,2的数值都会自动清空!
    但是我点右键刷新页面的时候,alert(filename1)发以前设置的filenameX文本框数值竟然还被保留了!并没有清空这是为什么啊?怎么解决啊
      

  3.   

    可是我还希望保留这个啊
    选择file2,提交给后台,后台,request.getParameter("filename1"),可以获得刚才选择file1时向filename1赋的数值! 
    正常操作如下: 
    步骤1:选择file1,提交给后台,后台调用setFileName方法,向filename1赋一个数值! 
    步骤2:选择file2,提交给后台,后台,request.getParameter("filename1"),可以获得刚才向filename1赋的数值! 并调用setFileName方法,向filename2赋一个数值 
      

  4.   

    设置了
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="expires" content="0">  
    也不行!
      

  5.   

    呵呵,问题出在了这里:
    <form name="form1"  method="post" enctype="multipart/form-data" target="targetFrame"> 你把红字去掉看看:)解决方法:放一段JS脚本页面load时强制清空两个filenameX
    function aa(){
    document.getElementById("filename1").value=""
    document.getElementById("filename2").value=""
    }
    <body onload='aa();'>
      

  6.   

    这样:
    <html> 
    <script>
    function aa(){
    document.getElementById("filename1").value=""
    document.getElementById("filename2").value=""
    }
    </script>
    <body onload='aa();'><form name="form1"  method="post" enctype="multipart/form-data" target="targetFrame"> 
    <input type="hidden" id="filename1" name="filename1" value=""> 
    <input type="hidden" id="filename2" name="filename2" value=""> <br>
    <input type="file" onchange="javascript:subFile()" name="file1" id="file1"/> 
    <input type="file" onchange="javascript:subFile()" name="file2" id="file2"/> </html> 
    <script>
    function subFile() {
      var subPath= "......"; 
      document.form1.action = subPath; 
      document.form1.submit(); 

    function setFileName(fileName,fileNum)
    {
        document.getElementById('filename'+fileNum)= fileName;

    </script>
      

  7.   


    楼主是在什么环境下开发的?比如:
     java + struts ?或者其它的?
    看着像是将变量保存在session中的缘故。
      

  8.   

    正解,这样就可以了。
    还有如果你希望在刷新后缓存数据保留,文本框数据清空的话呢。其实很简单,同样的道理。
    在submit之后设置value为空就可以了。
      

  9.   

    file按钮 是只读的,不能写该去值的,但是你可以重新生成一个file文本框,把以前的覆盖掉
      

  10.   

    啊,看错,才发现是file只读,刷新时必然会保存缓存,那么你可以做2个DIV,只要是刷新时用空的DIV替换掉
    你的file