2012-11-23 2 views
6

Sto lavorando all'applicazione Spring MVC e sto riscontrando un problema di ottenere il valore della casella di controllo quando è disabilitata.Come ottenere il valore della casella di spunta disattivata in Spring MVC

nella pagina report.jsp:

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

in ReportForm.java:

boolean corporateColumn ; 

public boolean isCorporateColumn() { 
     return corporateColumn; 
} 

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

In ReportController.java;

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

Tutto funziona bene a meno che non viene utilizzato come disabilitato = "true" (/ disabled = "$ { 'true'}") per il campo casella di controllo.

Ho avuto il problema simile in precedenza anche quando si ottiene il valore di un campo di testo disabilitato e lo si supera rendendo il campo di sola lettura. Quindi non sono sicuro in Spring MVC se non è possibile ottenere il valore del campo di input quando è disabilitato.

Qualsiasi consiglio sarebbe davvero apprezzato.

Grazie!

risposta

8

Mi dispiace dirlo ma è impossibile.

Utilizzare lo strumento di sviluppo (come in Chrome) per controllare i dati pubblicati, è possibile verificare che il browser non invierà i dati della casella di controllo se è disattivato o deselezionato.

Perché non si utilizza semplicemente "readonly" anziché "disabled"?

+0

In realtà volevo usarlo come disabilitato come il mio cliente voleva farlo. Ma ora penso piuttosto a preoccuparmi che è meglio farlo di sola lettura come hai suggerito. Grazie mille per avermi chiarito la cosa. – ons1719133

+1

P.S. Poiché readonly = "true" non funziona sulle checkbox l'ho superato come che è stato trovato in http://stackoverflow.com/questions/155291/can-html-checkboxes-be-set-to-readonly – ons1719133

+0

oops, sì giusto, l'ho perso. Grazie per questo – dgregory

3

I dati dei campi disattivati ​​non vengono passati al server.