valori POST dei disabili elementi del modulo
-
25-10-2019 - |
Domanda
Ho una forma in cui devo disabilitare una serie di caselle e alcuni campi in modo che l'utente non può modificare / alterare i loro valori. Quando ho presentare il modulo, però, i valori POST degli elementi disabili mancano / null. Come posso gestire ciò che sto cercando di fare a meno di questo problema?
In questo momento mi sto disattivando i campi disabilitando il div contenitore in questo modo:
#unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-webkit-user-select: none;
cursor:not-allowed;
}
Soluzione
Bene, ci sono 3 soluzioni mi viene in mente:
- Fai li
readonly
aggiungendo la proprietàreadonly
all'elemento. - li disabilitare in CSS / JavaScript. Colore come se fosse disattivato, e non consentono l'editing con JavaScript,
- Lascia disabilitato, e rimuovere i disabili su inviare.
Fate la vostra scelta:)
Altri suggerimenti
è possibile utilizzare al posto di readonly
disabled
wich è quasi la stessa per l'utente (non può essere editet), ma i valori di readonly
elementi ottenere presentato mentre quelli disabled
non lo fanno.
Si noti che ci sono alcune altre differenze tra la sola lettura e wich disabile potrebbe portare ad altri problemi per voi:
L'attributo disabili
- I valori per disabili elementi del modulo non sono passato al metodo del processore. Il W3C chiama questo un elemento di successo. (Questo funziona in modo simile a caselle di controllo forma che non vengono controllati.)
- Alcuni browser potrebbe ignorare o fornire stile predefinito per disabili elementi del modulo. (Out Grigio o il testo rilievo) è Internet Explorer 5.5 particolarmente sgradevole su questo.
- elementi del modulo disabili non ricevono attenzione.
- elementi del modulo disabili vengono saltati nella navigazione tramite selettori.
La sola lettura attributo
- Non tutti gli elementi del modulo hanno un attributo di sola lettura. Degna di nota, gli elementi, e non hanno in sola lettura attributi (anche se il tuo entrambi hanno attributi disabili)
- Browser fornisce alcun valore predefinito override feedback visivo che l'elemento del modulo è di sola lettura. (Questo può essere un problema ... vedi sotto).
- Elementi del modulo con il set di attributi di sola lettura avranno passato al processore modulo.
- Leggi modulo solo gli elementi in grado di ricevere la messa a fuoco
- Leggi modulo solo elementi sono inclusi nella navigazione a schede.
Non c'è molto senso inviare gli stessi dati avanti e indietro.
Basta lasciare in sul lato server e quindi utilizzare su di presentare.
Inoltre, supponendo che
utente non può modificare / alterare i loro valori.
è abbastanza stupido.
Si potrebbe usare "read-only" invece di disabili, che dovrebbe avere l'effetto voluto
È inoltre possibile utilizzare javascript per inviare il modulo, e pre-presentare un-disable (abilitare: P)? Vari campi