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.