Invio del valore di un campo di input disabilitato


Risposte:


238

Voglio disabilitare un campo di input in un modulo e quando invio il modulo i valori del modulo disabilitato non vengono inviati .

Caso d'uso: sto cercando di ottenere Lat Lng da Google Map e voglio visualizzarlo .. ma non voglio che l'utente lo modifichi .

È possibile utilizzare la readonlyproprietà nel campo di immissione

<input type="text" readonly="readonly" />

2
Notare che l'input sarà ancora in grado di ricevere il focus. Vedi: stackoverflow.com/questions/5443952/…
Rafael Oliveira

5
Ottima risposta 8 anni dopo. Volevo solo aggiungere che per rendere il testo non modificabile aggiungo il css:input:read-only { color:grey; }
UltrasoundJelly

21

So che è vecchio ma mi sono imbattuto in questo problema e nessuna delle risposte è adatta. La soluzione di nickf funziona ma richiede javascript. Il modo migliore è disabilitare il campo e comunque passare il valore è utilizzare un campo di input nascosto per passare il valore al modulo. Per esempio,

<input type="text" value="22.2222" disabled="disabled" />
<input type="hidden" name="lat" value="22.2222" />

In questo modo il valore viene passato ma l'utente vede il campo in grigio. L'attributo readonly non lo disabilita.


1
È possibile aggiungere CSS sulle caselle di testo disabilitate per disattivarle.
krillgar

Il valuenecessario è in ingresso disabilitato?
Ömer An

10

puoi anche usare l'attributo Readonly: l'input non sarà disattivato ma non sarà modificabile

<input type="text" name="lat" value="22.2222" readonly="readonly" />

2

Gli elementi di input hanno una proprietà chiamata disabled. Quando il modulo viene inviato, esegui un codice come questo:

var myInput = document.getElementById('myInput');
myInput.disabled = true;

5
Affrontando la domanda originale, per passare il valore durante l'invio del modulo la proprietà "disabilitata" dovrebbe essere "falso" invece di "vero".
Daniel Vukasovich
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.