<input type="hidden" name="state" value="statisticResult" />
我的jsp页面有这样一个静态变量
一般的按钮之类的链接是通过一个onclick引发一个function
document.forms[0].submit();
action通过state找value,statisticResult是我的action里的执行方法可现在,我需要新的执行方法
于是我的新function里是这样写的
document.getElementById("state").value="statisticExcel";
document.forms[0].submit();
通过修改value值,执行另外的method出现一个问题是,假如页面不刷新的话,因为input type="hidden"是静态的
我再点击需要statisticResult方法的按钮时,其实执行的还是statisticExcel不想通过传参的方式解决
因为页面太多,这样工作量太大
还是希望每个页面只需要一个input type="hidden"就可以完成JavaScript能不能再第一次读取页面的时候就把input type="hidden"里的value值取出
保存到需要这个值的函数里
这样不会因为静态变量的缘故被其他函数改变?写的有点乱。。看不明白的,我再解释,晚上一直在。

解决方案 »

  1.   

    我再点击需要statisticResult方法的按钮时,其实执行的还是statisticExcel
    你可以在此按钮的触发事件上加上
    document.getElementById("state").value="statisticResult";
    然后再提交
      

  2.   

    document.getElementById("state").value="statisticExcel";
    document.forms[0].submit();
    document.getElementById("state").value="statisticResult";
      

  3.   


    恩,因为用到这个标签的不仅仅是这么一个网页
    其他网页也需要用到这个标签
    都是通过默认的state进行自动寻找方法的
    所以这个方法不可行
      

  4.   


    这个方法在页面不刷新的时候可行假如执行statisticExcel的方法的时候是跳转到新网页
    新网页选择后退后,再点击其他按钮
    执行的仍然会是statisticExcel
    具体为什么我不太懂。。
      

  5.   

    目前LZ用的方法是在<script>后先增加一个页面变量
    var pageValue = document.getElementById("state").value;
    然后在对应onclick激活的function里
    document.getElementById("state").value=pageValue;
    document.forms[0].submit();
    这样实现,可以多页面重用
    也可以防止页面后退后,点击其他按钮出现bug的问题