Java 04 Eki 2006 13:28
Formun İki Kez Gönderilmesini Engelleme
Acemi internet kullanıcılarının çok sık yaptığı bir iştir durmadan "Gönder" veya "Tamam" gibi düğmelere basmak. Sağ altta yükleniyor çubuğu tık tık artar ve sunucudan cevap gelmesini bekler. Kullanıcıysa bilgisayarın kendisini duymamış olacağını farzederek tekrar tekrar gönder tuşuna basar. Bu gereksiz tıklamalar bazen sunucunun aşırı yüklenmesine neden olabilir. Ama burada en önemli sorun -eğer yeterli güvenlik önlemleri alınmamışsa- veritabanında fazla kayıtların oluşması vs. olabilir.
İngilizce makalenin orijinalini buradan okuyabilirsiniz.
Makalede temel olarak iki teknikten bahsediliyor. İlk yöntem; Javascript kullanarak tıklamadan hemen sonra butonu pasifleştirmektir. Yazar Scott Mitchell tarafından da projelerde sıklıkla kullanılan ikinci yöntemse "ekranı dondurup ekranda verilerinin işlenmekte olduğu" ile ilgili bir mesaj vermek olarak özetlenebilir.
İkinci yöntem biraz daha karmaşık ve işin içine CSS tasarım dosyaları vs. giriyor. O yüzden ilgilenenler bu yöntemi orijinal makaleden okuyabilirler.
Birinci yöntemle ilgili bir örnek yapalım.
-
<script type="text/javascript">
-
function DugmeyiPasiflestir(b)
-
{
-
b.disabled = true;
-
b.value = 'Gönderiliyor...';
-
}
-
</script>
-
-
Düğmenin nasıl pasifleştirildiğini
-
ve metninin nasıl değiştiğini
-
görmek için tıklayınız...
-
-
<input id="gonderBtn" name="gonderBtn" type="submit" />
-
value="Gönder"
-
onclick="DugmeyiPasiflestir(this);" />
Görüldüğü gibi oldukça basit bir JS (Javascript) koduyla olayı çözmüş olduk. Buraya tıklayarak kodun çalışan bir demosunu görebilirsiniz ![]()
Diğer yöntemin uygulanması da oldukça keyifli. Mutlaka deneyin.
Verdiğim yöntemin PHP, ASP, ASP.NET gibi dillerde kod yazarken oldukça işinize yarayacağını umuyorum....

07 Eki 2006 22:56
1.Ufuk Eskici…
Çok yararlı bir bilgi, teşekkürler Umut. Devamını da bekliyoruz, ona göre
27 Mar 2008 8:37
2.ülkü bayhan…
Umut Bey
sitenizi çok begendim. Fizikçiyim. CYGWın install etmeye ugrasırken size rasladım. Takip edeceğim.
Donanım bilgim cok eksik. Sorum oldukca yazarım.
İyi calışmalar
Dr. Ülkü Bayhan
25 Eki 2008 23:50
3.Aykut…
iyi de dostum bu java degil ki javascript:S