条件:
      设置了一个div 域,把它的置为隐藏。 通过点击“高级查询”按钮调js代码改变这个域的display值从而显示出这个域。
  
      在这个域中有一个表格,表格中为一些查询条件和 type=“submit” 的“查询”按钮。状况:
      在点击“查询”按钮后,这个域就隐藏了。疑问:
   
     该怎么样设置才能在点击“查询”按钮后不会隐藏。除非再次点击“高级查询”按钮才隐藏?
  

解决方案 »

  1.   

    你點查詢應該做了全局刷新,display變成了默認值,解決的辦法是做局部刷新,不對查詢區域的那個div刷新。
    如果你一定通過全局刷新來做,你只能把展示標識提交到後台,再傳回來,根據這個值判定是否展示這個div。
      

  2.   

    如果纯用JS解决的话,也可以考虑将域的隐藏状态存入Cookie,onload的时候检查下这个Cookie来控制该域是否显示或隐藏。
      

  3.   

    在点击查询的时候就直接查询,不要对div改变什么,点击高级查询时再把display设置为隐藏
      

  4.   

    type=“submit” 的“查询”按钮。
    可能是这个页面提交了,相当于又打开只不过页面一样,所以就没有了。
    你最好用ajax,来实现局部的刷新。
      

  5.   


     是的,submit之后就进行了一次刷新。除了用Ajax 和 Iframe 之外还有什么办法做局部刷新么?怎样控制不对那个div进行刷新?
     因为我是在修改别人以前的项目,不好有太大的变化。
      

  6.   

      
      我也是想用js来控制,但水平有限,你有一个简单的Demo么。
      

  7.   


     我想过用ajax 。但是,如果用ajax的话,我需要对以前的前台后台代码有很大的改动。
      

  8.   

    还真不知道除了ajax和iframe之外还有什么手段做局部刷新。很纳闷的是,既然连div展开都那么在乎,你全局刷新了,查询前的条件难道不要保留到查询后?如果保留的话,加个记录展开状态的参数很容易呀;如果不保留,我对这需求就无语了。
      

  9.   

    不用ajax局部刷新的话,你倒是可以在“查询”按钮的onclick事件中,做和点击高级查询一样的操作,显示div域。只不过,table中的查询条件可能不会保留。
      

  10.   


      cookie默认的存活时间是直到浏览器关闭吧,为什么我一刷新就取不到之前存入的数据了?
      

  11.   


    你可以带个参数说明是否要隐藏这个层,比如说flag参数,在进入页面判断该参数为默认或false的时候隐藏,为true的时候不隐藏
      

  12.   

    隐藏了是因为页面刷新了,所以要想实现此功能就不能提交表单,也就是要用局部刷新,建议用jquery吧 把数据加载到js中然后在赋值
      

  13.   


    换了种样式,做了个弹出框,用jqgrid实现了。  谢谢大家的回答。