其实就是,document.form.hFlag.value="No";的情况,只能临时改变数值,当刷新的时候,就会改变为初始化的数值,必须用 document.form.submit,才能永久改变数值,
请问,我不想用submit,因为要刷新页面,请问怎么在不刷新的情况下,永久改变hFlag的数值,
请问怎么实现。

解决方案 »

  1.   

    你可以通过传No这样的参数 来每次刷新都给hFlag赋值
      

  2.   

    我想我明白一点你的意思了你的hFlag是服务器端生成的,要改变必须要修改掉服务器端的数据,那么不提交恐怕是不行要不你在服务器端生成取得数据后,转向到另一个页面处理,也就是说取得数据一个页面,处理数据一个页面
      

  3.   

    可以利用隐藏的iframe来实现 ,设置一个隐藏的Form控件来存储hFlag的值,然后让这个form直接提交到iframe里去,iframe把Session的值修改,此时本页面不会发生任何改变,只有当主页面一刷新,才重新取这个Session值 . . . . .
    例如下面代码;
    <%@language="javascript"%>
    <% 
        var hFlag = Session("hFlag")+"";
        if(hFlag == "undefined")
           hFlag = "No" ; //设置一个初始值 ..
    %>
    <form name="MyHideForm" action="a.asp" target="MyFrame">
    <input type=hidden name="hFlag">
    </form>
    <iframe id="MyFrame" style="width:0px;height:0px;display:none"></iframe>利用提交可以改变Session("hFlag")的值,但是本身页面不会改变:
     document.all.MyHideForm.submit();a.asp如下: 
    Session("hFlag")= Request("hFlag");