下拉列表中的数据选择后提交数据到本页,但是提交后,下拉列表中显示的内容又初始化了。怎么能让下拉表记录上一次所提交的内容呢? 
  由于我要分页展示,当点击下一页提交本页后,下拉表传的值就不是上一次选择的值,所以报错。
 代码如下:
<form method="get" action="Diningtable_select" name="form1" id="form1">
<select name="diningroomname" onchange= "form1.submit()" >
    <s:iterator value="diningrooms">
<option value=<s:property value='diningroomname'/>>
           <s:property value='diningroomname'/>
</option>
    </s:iterator>
</select>
  </form>

解决方案 »

  1.   

    form 默认提交重置 如果你想重新显示  直接 js 重新设置<select name="diningroomname" onchange= "submit_function" >
    function function(){
          var  valaue   = document.getElementByName("diningroomname").value;
      form1.submit();
          document.getElementByName("diningroomname").value=valaue   ;}
      

  2.   

    1.其实你就是想刷新表单显示部分页面,查询条件不刷新,用jquery提交吧,动态加载你的数据列表,这样翻页就不会有影响了。
    2.查询条件放在cookie里或者缓存里,每次查询都从里面取,不过这样你的翻页似乎就有问题了,不能保证翻页后的数据不是前面已经显示过的。
    3.后台定义全局变量,存储你的查询条件,但是多线程的话就有问题了。
      

  3.   


    我试了这中方法 但是现在怎么不能提交了呢?<script type="text/javascript">
    function reset(){
       var tempvalaue = document.getElementByName("diningroomname").value;
       form1.submit();
       document.getElementByName("diningroomname").value=tempvalaue ;
    }
    </script><select name="diningroomname" onchange="reset()" >
    ......
    </select>
      

  4.   

    问题最终还是用了session解决 我用了session保存了上一次的记录 然后在取到session的内容重置!