Saya ingin kotak pencarian di halaman web saya untuk menampilkan kata "Cari" dengan huruf miring abu-abu. Ketika kotak menerima fokus, itu akan terlihat seperti kotak teks kosong. Jika sudah ada teks di dalamnya, itu akan menampilkan teks secara normal (hitam, non-miring). Ini akan membantu saya menghindari kekacauan dengan menghapus label.
BTW, ini adalah pencarian Ajax pada halaman , sehingga tidak memiliki tombol.
javascript
html
Michael L Perry
sumber
sumber
Jawaban:
Opsi lain, jika Anda senang memiliki fitur ini hanya untuk browser yang lebih baru, adalah menggunakan dukungan yang ditawarkan oleh atribut placeholder HTML 5 :
Dengan tidak adanya gaya apa pun, di Chrome ini terlihat seperti:
Anda dapat mencoba demo di sini dan di HTML5 Placeholder Styling dengan CSS .
Pastikan untuk memeriksa kompatibilitas browser dari fitur ini . Dukungan di Firefox telah ditambahkan di 3.7. Chrome baik-baik saja. Internet Explorer hanya menambahkan dukungan di 10. Jika Anda menargetkan browser yang tidak mendukung input placeholder, Anda dapat menggunakan plugin jQuery yang disebut jQuery HTML5 Placeholder , dan kemudian tambahkan saja kode JavaScript berikut untuk mengaktifkannya.
sumber
Itu dikenal sebagai tanda air kotak teks, dan dilakukan melalui JavaScript.
atau jika Anda menggunakan jQuery, pendekatan yang jauh lebih baik:
sumber
Anda dapat mengatur placeholder menggunakan
placeholder
atribut dalam HTML ( dukungan browser ). Itufont-style
dancolor
dapat diubah dengan CSS (meskipun dukungan browser terbatas).sumber
Anda dapat menambah dan menghapus kelas CSS khusus dan memodifikasi nilai input
onfocus
/onblur
dengan JavaScript:Kemudian tentukan kelas petunjuk dengan gaya yang Anda inginkan di CSS Anda misalnya:
sumber
Cara terbaik adalah memasang acara JavaScript Anda menggunakan semacam perpustakaan JavaScript seperti jQuery atau YUI dan memasukkan kode Anda ke dalam file .js-eksternal.
Tetapi jika Anda menginginkan solusi cepat dan kotor, ini adalah solusi HTML inline Anda:
Diperbarui : Menambahkan barang pewarna yang diminta.
sumber
Saya memposting solusi untuk ini di situs web saya beberapa waktu lalu. Untuk menggunakannya, impor satu
.js
file:Lalu beri catatan input apa pun yang Anda ingin memiliki petunjuk dengan kelas CSS
hintTextbox
:Informasi dan contoh lebih lanjut tersedia di sini .
sumber
Berikut adalah contoh fungsional dengan cache perpustakaan Google Ajax dan beberapa sihir jQuery.
Ini akan menjadi CSS:
Ini akan menjadi kode JavaScript:
Dan ini akan menjadi HTML:
Saya harap itu cukup untuk membuat Anda tertarik pada GAJAXLibs dan jQuery.
sumber
Sekarang menjadi sangat mudah. Dalam html kita bisa memberikan atribut placeholder untuk elemen input .
misalnya
periksa lebih detail: http://www.w3schools.com/tags/att_input_placeholder.asp
sumber
Untuk pengguna jQuery: tautan jQuery naspinski tampaknya rusak, tetapi coba yang ini: http://remysharp.com/2007/01/25/jquery-tutorial-text-box-hints/
Anda mendapatkan tutorial plugin jQuery gratis sebagai bonus. :)
sumber
Saya menemukan plugin jQuery jQuery Watermark lebih baik daripada yang terdaftar di jawaban atas. Mengapa lebih baik Karena mendukung bidang input kata sandi. Juga, mengatur warna tanda air (atau atribut lainnya) semudah membuat
.watermark
referensi di file CSS Anda.sumber
Ini disebut "tanda air".
Saya menemukan plugin jQuery jQuery watermark yang, tidak seperti jawaban pertama, tidak memerlukan pengaturan tambahan (jawaban aslinya juga membutuhkan panggilan khusus untuk sebelum formulir dikirimkan).
sumber
Gunakan jQuery Form Notifier - ini adalah salah satu plugin jQuery paling populer dan tidak menderita bug seperti yang dilakukan saran jQuery lainnya (misalnya, Anda dapat dengan bebas mendesain watermark, tanpa khawatir jika itu akan disimpan ke basis data).
jQuery Watermark menggunakan gaya CSS tunggal langsung pada elemen bentuk (saya perhatikan bahwa properti ukuran font CSS yang diterapkan pada tanda air juga memengaruhi kotak teks - bukan yang saya inginkan). Tanda plus dengan jQuery Watermark adalah Anda dapat menyeret-jatuhkan teks ke dalam bidang (Notifier Formulir jQuery tidak mengizinkan ini).
Yang lain disarankan oleh beberapa orang lain (yang di digitalbrush.com), secara tidak sengaja akan mengirimkan nilai tanda air ke formulir Anda, jadi saya sangat menyarankan untuk tidak melakukannya.
sumber
Gunakan gambar latar belakang untuk merender teks:
Maka yang harus Anda lakukan adalah mendeteksi
value == 0
dan menerapkan kelas yang tepat:Dan kode JavaScript jQuery terlihat seperti ini:
sumber
Anda dapat dengan mudah meminta sebuah kotak membaca "Cari" kemudian ketika fokus diubah sehingga teks dihapus. Sesuatu seperti ini:
<input onfocus="this.value=''" type="text" value="Search" />
Tentu saja jika Anda melakukannya, teks pengguna sendiri akan hilang ketika mereka mengklik. Jadi, Anda mungkin ingin menggunakan sesuatu yang lebih kuat:
sumber
Saat halaman pertama dimuat, ada Pencarian muncul di kotak teks, berwarna abu-abu jika Anda inginkan.
Ketika kotak input menerima fokus, pilih semua teks dalam kotak pencarian sehingga pengguna bisa mulai mengetik, yang akan menghapus teks yang dipilih dalam proses. Ini juga akan berfungsi dengan baik jika pengguna ingin menggunakan kotak pencarian untuk kedua kalinya karena mereka tidak perlu secara manual menyorot teks sebelumnya untuk menghapusnya.
sumber
Saya suka solusi "Knowledge Chikuse" - sederhana dan jelas. Hanya perlu menambahkan panggilan untuk mengaburkan saat memuat halaman siap yang akan mengatur keadaan awal:
sumber
Anda ingin menetapkan sesuatu seperti ini ke onfocus:
dan ini untuk blur:
(Anda dapat menggunakan sesuatu yang sedikit lebih pintar, seperti fungsi kerangka kerja, untuk melakukan pengalihan classname jika Anda mau.)
Dengan beberapa CSS seperti ini:
sumber
Saya menggunakan solusi javascript sederhana, satu baris yang sangat bagus. Berikut adalah contoh untuk textbox dan textarea:
hanya "downside" yang akan divalidasi pada $ _POST atau dalam validasi Javascript sebelum melakukan apa pun dengan nilai bidang. Artinya, memeriksa bahwa nilai bidang bukan "Teks".
sumber
sumber
Tag 'wajib' Html sederhana bermanfaat.
Ini menentukan bahwa bidang input harus diisi sebelum mengirimkan formulir atau tekan tombol kirim. Berikut ini contohnya
sumber
Pengguna AJAXToolkit dari http://asp.net
sumber