Mengirimkan nilai bidang masukan yang dinonaktifkan

101

Saya ingin menonaktifkan kolom input, tetapi ketika saya mengirimkan formulir, nilainya tetap harus diteruskan.

Contoh penggunaan: Saya mencoba mendapatkan garis lintang dan bujur dari Google Maps dan ingin menampilkannya, tetapi saya tidak ingin pengguna mengeditnya.

Apakah ini mungkin?

Harsha MV
sumber
1
kemungkinan duplikat input formulir Dinonaktifkan tidak muncul dalam permintaan
Alireza Fallah

Jawaban:

238

Saya ingin Menonaktifkan Input Field pada formulir dan ketika saya mengirimkan formulir, nilai dari formulir yang dinonaktifkan tidak dikirimkan .

Kasus Penggunaan: Saya mencoba mendapatkan Lat Lng dari Google Map dan ingin Menampilkannya .. tetapi tidak ingin pengguna mengeditnya .

Anda dapat menggunakan readonlyproperti di bidang masukan Anda

<input type="text" readonly="readonly" />
Sarfraz
sumber
2
Perhatikan bahwa input masih dapat menerima fokus. Lihat: stackoverflow.com/questions/5443952/…
Rafael Oliveira
5
Jawaban bagus 8 tahun kemudian. Hanya ingin menambahkan itu agar teks tampak tidak dapat diedit, saya menambahkan css:input:read-only { color:grey; }
UltrasoundJelly
21

Saya tahu ini sudah tua tetapi saya baru saja mengalami masalah ini dan tidak ada jawaban yang cocok. Solusi nickf berfungsi tetapi membutuhkan javascript. Cara terbaik adalah menonaktifkan bidang dan tetap meneruskan nilainya adalah dengan menggunakan bidang masukan tersembunyi untuk meneruskan nilai ke formulir. Sebagai contoh,

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

Dengan cara ini nilai diteruskan tetapi pengguna melihat bidang berwarna abu-abu. Atribut readonly tidak membuatnya berwarna abu-abu.

Abu Sulaiman
sumber
1
Anda dapat menambahkan CSS pada kotak teks yang dinonaktifkan untuk membuatnya berwarna abu-abu.
krillgar
Apakah valueperlu di input yang dinonaktifkan?
Ömer An
10

Anda juga dapat menggunakan atribut Readonly: input tidak akan berwarna abu-abu tetapi tidak dapat diedit

<input type="text" name="lat" value="22.2222" readonly="readonly" />
pjnovas.dll
sumber
2

Elemen masukan memiliki properti yang disebut disabled. Saat formulir dikirim, jalankan beberapa kode seperti ini:

var myInput = document.getElementById('myInput');
myInput.disabled = true;
nickf
sumber
5
Mengatasi pertanyaan awal, untuk meneruskan nilai selama pengiriman formulir, properti "nonaktif" harus "salah" bukan "benar".
Daniel Vukasovich