Kişisel Bir Web Günlüğü

javaScript ile imlâ denetimini (spellcheck) devre dışı bırakmak

spellcheckinternette gezinmek için kullandığımız web tarayıcılarının güncel sürümlerinin hemen hemen hepsi imlâ denetimi (spellcheck) özelliğine sahiptirler. Yani metin girişi yaptığınız kutularda yazılı olanların doğruluğunu kontrol edebiliyorlar. Fakat bazen imlâ denetimi yapılmasını istemeyeceğimiz metin girişleri olabilir. işte böyle durumlarda bu özelliği küçük bir javaScript kodu ile otomatik olarak kapatabiliriz.

Nerden çıktı şimdi bu?

SiteBilgi‘nin yeni sürümünü hazırlıyordum ve Google Chrome ile siteyi test ediyordum. Adres kutusuna bir web adresi yazıyorken farkettim ki Google Chrome bu web adresinin altını kırmızı çizgilerle doldurdu :) Bu da pek hoş görünmedi gözüme. Elbette adres kutusuna kendimiz sağ tıklayarak imlâ denetimini kapatabiliriz fakat ya diğer kullanıcılar için napıcaz? Adres kutusunun üstüne uyarı yazısı yazacak halimiz yok herhalde :D

sitebilgi-spellcheck

Uzatma da nasıl kapatılıyor onu söyle !

imlâ denetimini otomatik olarak (kullanıcıya zahmet vermeden) kapatmak için ilgili metin girişine bir tane attribute (öznitelik) yerleştirmemiz gerekiyor. Bu özniteliğin adı spellcheck olmalıdır. Eğer bunun değerini false yaparsanız artık o metin girişinde imlâ denetimi özelliği devre dışı kalmış olur. Örnek vermek gerekirse:

 <input type="text" name="adres" id="adres" spellcheck="false" /> 

E hani biz bunu javaScript ile yapacaktık ?

w3-validDoğru haklısınız. Zaten yukarıdaki örnekteki gibi HTML kodu şeklinde yazarsak web sayfamız W3C‘nin doğrulama servisinden (The W3C Markup Validation Service) geçemez. Dolayısıyla “doğrulama” bizim için önemliyse imlâ denetimini devre dışı bırakmak için şunları kullanmalıyız:

//native javaScript ile
document.getElementById('adres').setAttribute('spellcheck', 'false');

// jQuery ile
$('#adres').attr('spellcheck', 'false');

// Prototype ile
$('adres').writeAttribute('spellcheck', 'false');

// MooTools ile
$('adres').setProperty('spellcheck', 'false');
benzer yazılar:
10 Şubat 2010 Programlama Bugün 0 kez, toplamda ise 6.217 kez okundu. , ,
10 yorum var
  1. şu sitebilginin de yeni sürümü hiç bitmiyor :)

  2. Bu yaptığımıza kulağı tersten tutmak denir ama … ^^

  3. Metin için teşekkürler sağlam bir paylaşım olmuş.

  4. gerçekten güzel bir yazı olmuş bu etiketi de javascript ile yapılabileceğini de bilmiyordum

  5. @xmRipper
    neden öyle denir acaba?

  6. spellcheckli tarayıcıların kullanım oranını toplasan sanıyorum %4 civarı gibi birşey eder..böyle birşey için her inputa bu kodu eklemek saçmalık bence..html ile yapınca valid den geçemediğine göre bir tarayıcının kafasından uydurduğu bir komut olduğu belli..yanılıyor olabilirim ama sanıyorum Chrome dan başka bir tarayıcıda çalışmıyor..

  7. @Recep Yüksel
    buradaki olay aynen input’lara “autocomplete=off” uygulamak gibi. Gerekli yerde kullanırsan ve iyi bir sebebin varsa saçmalık olmaz. Tarayıcıların kullanım oranlarıyla ilgili birşey değil.

  8. Safari’de yaşadığım bu soruna çözüm oldu. Teşekkürler.

  9. Kim ne derse desin çok kaliteli bir paylaşım, Teşekkürler.

  10. Gerçekten çok teşekkürler.

İçinizde kalmasın, siz de yorum yazın

Telif Hakkı © 2012 eburhan.com | Structure | XHTML