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; 

}
È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top