在jsp中:<s:checkbox name="checkboxList" theme="simple" fieldValue="%{checkboxList[#status.index]}" disabled="true" value="true"/>把这个checkbox设为disabled,但是点击提交,在action中就不能获取这个checkbox的值的,怎么能这样呢?我把它设为disabled只是为了让浏览器不能点击修改它,但是我还是需要它的值啊,怎么能不让我获得它的值呢?或者还是我写错了?
求助!!

解决方案 »

  1.   

     如果 要用 Struts 标签得到复选框的值 , 要用JS
     不用js的话就要用 input 标签 
      

  2.   

    晕 1楼的别开玩笑啊 现在只能先把disabled="true"去掉 反正也是在做beta,只能等到正式版的时候在想办法了
      

  3.   

    checkbox设为disabled后,浏览器不会向服务端提交这个item的值。
    不关struts2的事。
      

  4.   

    谢谢4楼,请问除了disabled=“true”还有别的方法可以让checkbox不能在浏览器点击修改,但是又还能提交值的方法吗?
    我的意思是,客户在前一个操作选择了某些checkbox,然后程序根据这些选择的checkbox进行不同的处理,提示不同的第二步操作,但是在显示第二步操作的提示信息的时候,第一步选择了的那些checkbox还显示着,只是变成了灰色,也就是客户不能再去修改那些checkbox了,只是让它在那儿显示着。这时客户根据第二步的操作提示信息进行第二步的操作,提交,然后后台获取那些checkbox,现在的问题就是如果disabled=“true”,那么,后台就获取不到这些checkbox的值了。
      

  5.   

    disabled=“true”这个意思是禁用了这个控件,相当于没有这个控件了,所以不管里面是什么数值后台是取不到的
      

  6.   

    用<s:hidden name="XXX" />
      

  7.   

      只能在提交表单之前disabled="false"了