2012-11-23 32 views
6

我正在处理Spring MVC应用程序,并且在禁用时遇到了复选框值的问题。如何在Spring MVC中获取禁用复选框的值

<form:checkbox type="checkbox" path="corporateColumn" id="corporateColumn" value="true" checked="checked" disabled="true" /> 

在ReportForm.java

在report.jsp页

boolean corporateColumn ; 

public boolean isCorporateColumn() { 
     return corporateColumn; 
} 

public void setCorporateColumn(boolean corporateColumn) { 
     this.corporateColumn = corporateColumn; 
} 

在ReportController.java;除非它被用作禁用= “真”(/禁用= ​​“$ { '真'}”)的复选框字段

boolean corporateColumn = reportDTO.isCorporateColumn(); // this evaluates to false 
//Which expected as true when corporateColumn checkbox is checked 

,一切工作正常。

以前我也有类似的问题,当获得禁用的文本字段的值,并通过使字段只读来克服它。 因此,我不确定在Spring MVC中禁用时是否无法获得输入字段的值。

任何指导将非常感激。

谢谢!

回答

8

很遗憾地说,但那是不可能的。

使用开发者工具(如在Chrome中)来检查发布的数据,如果浏览器被禁用或未选中,您可以确认浏览器不会发送复选框的数据。

为什么不简单使用'只读'而不是'禁用'?

+0

其实我想用它作为残疾人,因为我的客户想这样做。但现在我宁愿去打扰,最好是按照你的建议只读。非常感谢你澄清我的事情。 – ons1719133

+1

P.S.由于readonly =“true”对复选框不起作用,我将它作为http://stackoverflow.com/questions中的来解决。/155291/can-html-checkboxes-set-to-readonly – ons1719133

+0

oops,是的,我错过了。谢谢你 – dgregory

3

已禁用的字段数据不会传递到服务器。