用隐含的iframe提交<iframe id=myiframe style="width:0;height:0;display:none"></iframe>
<div id=mydiv>
<form action="reg.asp" target="myiframe">
......
</form>
</div>reg.asp
......
<script>
<% if 提交错误 then %>
alert("错误信息")
<% else %>
praent.mydiv.innerHTML="<B>提交成功!</B>"
<% end if %>

解决方案 »

  1.   

    几种方法:
    1.将注册页面做成HTML页面,建议使用
    2.使用session_cache_limiter('private');
    3.使用header发送强制不过期
    header("Expires: ".date("D, d M Y H:i:s",time()+864000)." GMT");
    header("Pragma: cache");
    header("Cache-Control: cache,must-revalidate");
      

  2.   

    曾经在一本书上看到过一个方法,不过我没有试验过,楼主可以试试看:
    设置几个session变量,首先都是空值,作为表单的value,是空的时候,当然等于没有显示,当用户提交信息的时候,把用户提交的信息存入这些变量中,提交的信息没有问题,当然ok,有问题返回那个表单页面,表单里面是应该显示这些session变量的值的,这个时候也就是用户提交的信息啊
      

  3.   

    to:polygame(polygame) :
    感谢你!
         现在想使用第2种方法,是按如下的方法使用吗?还是不行啊.
          session_start();    
          session_cache_limiter('private');
          $_SESSION['SQL'] = $sQuery;     
      

  4.   

    session_cache_limiter 必须在session_start前面运行。
      

  5.   

    同意。可以先用JS验证一下,比如说日期、Email、等一些信息用JS判断足够。即使输入错误也不会重新刷页面,这样的话你输入的信息就不会丢了。