最近在做一个例子,又是两个下拉列表组成,一个现实城市列表,一个现实对应城市所有的门店就像我们这个提问的窗口一样,首先选择论坛,再选择论坛下面的对应的小论坛现在的问题是当我提交该页跳转到下页时,再点击浏览器上的后退按钮按钮时,不能保存原来所选的列表值,请问如何解决????
我自己想了一下,以为是Ajax的原因,再加上网络不好的话Ajax有"抖动"的效果,所以将Ajax获取换成了JavaScript获取,但还是无法但到效果网上查了一下,说是Ajax无法记住history的原因,但是此时我已经将Ajax换成了JavaScript(具体做法是页面加载时就获取所有的小论坛,然后用JavaScript获取过来处理)

解决方案 »

  1.   

    cookie记录数据,禁止后退,重新跳转到该页面
      

  2.   


    嘿嘿!Ajax难道不是 Javascript?
      

  3.   

    后退就刷新了把,js保存不了
    cookie
      

  4.   


    不是这个意思,用Ajax时动态即时获取,而JavaScript是我页面接在的时候就将所有需要的结果拿过来,然后用JavaScript去获取。。这样可以避免当网络不好的时候去获取时产生的"抖动"。
      

  5.   

    示例
    <select id="country">
     <option value=''>请选择国家</option>
     <option value='中国'>中国</option>
     <option value='美国'>美国</option>
    </select><select id="city">
      <option value=''>地区</option>
    </select><script language="javascript">
    var cc = [];
    cc["中国"] = [];
    cc["中国"].push("香港");cc.push("美国");
    cc["美国"] = [];
    cc["美国"].push("纽约");function $(id) {
      return document.getElementById(id); 
    }
    $("country").onchange = function() {
      var ct = $("city");
      ct.options.length = 1;
      if ( this.value != "" ) {
         for(var i=0;i<cc[this.value].length;i++) {
            var val = cc[this.value][i];
            ct.options.add(new Option(val,val));
         }
      }
    }
    $("city").onchange = function() {
      window.location.href = '?' + this.value;
    }
    window.onload = function() {
      $("country").onchange();
    }
    </script>