上次的求助沉掉了。
许多人说window.location.reload()方法与F5刷新功能是一样的,但是在chorme浏览器下试了下,F5是可以保留页面的表单数据,但是reload()方法不行,并且会将post方式改成get方式。但是我这个项目里面很多页面是禁用了get方式跳转,因此通过JS刷新的时候就会出现错误提示。1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 window.navigate(location)
6 location.replace(location)
7 document.URL=location.href 
在chorme下试用的结果都是会将post表单丢失。还有别的方法么?比如直接触发一次F5按键?大致讲解一下背景。项目主体已经基本完工。有很多检索条件选择页面,可以表单提交到各个检索列表页面。然后类似CSDN这样,最上面有一个用户登陆的共用页头。功能要求是在登陆成功以后刷新一次当前页面。目前的做法是在登陆成功以后调用一次reload()方法,点击登陆按钮的时候没有传递任何辨认当前页面的参数。先前crying_boy所说的方法在服务端保存条件然后重定向,,第一是不知道具体是哪个页面,第二的话相关的页面太多,我短时间也不太可能做的完。在此还是谢谢crying_boy所提的意见。目前还有另一种思路,因为我JS的基础不太好,JS有没有方法可以取到当前页面post过来的那个表单呢?直接用JS取到以后生成一个form重新提交可不可以?

解决方案 »

  1.   

    检索条件选择页面:A[若干个同类型页面]
    各个检索列表页面:B[与A一一对应的]你是由A提交至B?显示也是在B?是这么回事么??
      

  2.   


    对。大部分都是。http://dev.athome.co.jp/rent/
      

  3.   

    http://dev.athome.co.jp/rent/这个是A页面,点击检索以后跳转到B页面。然后chorme浏览器在这个页面通过控制台运行window.location.reload()以后就会回到A页面,,这个就是问题了。
      

  4.   

    我觉得用iframe是 不是好些?
      

  5.   


    页面都是已经完成的。目前我只是做修正。改成iframe的话工作量太大了唔,reload()在firefox下面执行都没问题,会给出一个是否重新提交数据的提示。chrome下面点击F5也能有这个效果,但是chrome下面使用reload()就直接跳转了。就想用JS方法达到跟firefox下reload()一样的效果啊
      

  6.   

    如果f5是你要的效果的話那就簡單了,用js模擬按鍵就好了,給你一篇文章你借鑒一下
    http://hi.baidu.com/omyss/item/cc585add030d83f593a974e8如果不同的瀏覽器狀況不同的話你可以通過agent判斷瀏覽器類型做不同的處理就好了.
      

  7.   


    不好意思,,这个不太明白,VBS的代码吗?我这边是PHP的页面,,试了一下似乎执行不了?(chrome下提示ActiveXObject未定义)
      

  8.   

    from.submit()
    直接控制from提交一次这个是从你的业务逻辑来考虑
    如果需要post那么就 按我上面说的否则的话 你的页面刷新不应该采用post模式  应该用session来维护状态
      

  9.   

    我觉得用ajax比较好,先把form提交过来的数据存到页面上,然后发请求去查数据
      

  10.   

    这个是要在后台把所有的表单数据添加到form里面么?可不可以直接用JS获取以后放进form里面
      

  11.   

    刷新 页面 ,楼主列出的方法都OK要提交表单。可以用document.forms[0].submit();也可以ajax 提交。