比如注册页面,填入信息不正确是报错并返回注册页面,我用的history.back(),如果注册页面没有新开窗口时是会保留之前填入的数据的(password之类的不算),但是如果注册页面如果有新开窗口,比如上传图片时会新开上传图片窗口,history.back()就不能保留之前的信息,好像刷新了一样,用history.go(-1)之类的都不行。在网上也搜索过了,有人遇到过,但没人解决

解决方案 »

  1.   

    将表单递交到隐藏的iframe中,主页面是不变的,就不需要考虑返回问题了。
    至于返回的结果,无论错对,都从iframe的角度出发返回脚本提示或转址
    parent.location.replace("success.htm");
    脚本写在iframe返回页面的window.onload事件中。
      

  2.   

    表单提交到隐藏的iframe中的确实现了我要的效果,在页面提交的自然不用考虑返回问题了,厉害,都没想到过...
    只是后面这句"parent.location.replace("success.htm");脚本写在iframe返回页面的window.onload事件中。"不知道啥意思,请教...
      

  3.   

    通用的可以用cookie,IE下可以加个CSS:.saveHistory {behavior:url(#default#savehistory);} 
    http://www.1netmedia.net/base/blogview.asp?logID=614
      

  4.   

    例子:
    主页面
    <form target="hf" action="b.htm">
    ...
    </form>
    <iframe name="hf" style="display:none;"></iframe>b.html中
    <script>
    window.onload=function(){
       alert("递交成功");
       parent.location.replace("success.htm");
    }
    </script>