Javascript zamanlı yönlendirme

Merhaba arkadaşlar,

Bu yazımda javascript ile zamanlı yönlendirme nasıl yapılır ondan bahsedeceğim. Aslında bu işi javascript’in setTimeout fonksiyonu sayesinde yapacağız. setTimeout fonksiyonunu JAVA ve VB.NET’in timerlarına benzetebilirsiniz.

Çok kısa bir örnekle konuya açıklık getirelim. Diyelimki uzun bir form sayfanız var ve girilen her değeri PHP ile kontrol ettiriyorsunuz. Eğer formdan gelen değer belirttiğiniz şartı sağlamıyorsa kullanıcıya bir uyarı mesajı verdikten sonra genel olarak sayfayı yeniletirsiniz.En azından çoğu insanın boyle yaptığına şahit oldum. Ancak sayfa yani form sayfası yenilendiği zaman kullanıcının doğru girdiği değerlerde otomatik olarak temizlenmiş olur. Ve bu durum pek hoş karşılanmaz. Sizde bunun farkına vardınız ve kullanıcıya uyarı verdikten sonra bir önceki sayfaya dönerek kullanıcının doğru girdiği alanların temizlenmemesini istiyorsunuz. İşte bu durumda lazım olan şey Javascript !

Kullanıcıyı bir önceki sayfaya yönlendirmek için kullancağımız javascript kodu:

<script type="text/javascript">history.go(-1);</script>

bu kod ile bir önceki sayfaya gidebilirsiniz. Ancak burda bi zamanlama söz konusu değildir. Buna birde zaman eklemek istersek :

<script type="text/javascript">setTimeout(function(){ history.go(-1); }, 2000);</script>

bu şekilde değiştiriyoruz. Burda 2000 olan yer zamanı belirtir karşılığı iki saniyedir. Kullanıcıyı 5 saniye sonra yönlendirmek isterseniz bu değeri 5000 olarak değiştirmeniz gerekir.

PHP ile de daha kullanışlı bir hale getirmek ve nerde kullanırım için örnek verecek olursak onada bir açıklık getirelim. Kullanıcı formu doldurdu ve bir alanı eksik bıraktı.Gönder butonuna tıkladığında sizde tüm alanları doldurun tarzı bir uyarı gösteriyorsunuz. Uzatmadan 🙂

<?php
echo '<p>* ile belirtilen alanları doldurmalısınız.Lütfen yeniden deneyin...</p>';
echo '<script type="text/javascript">setTimeout(function(){ history.go(-1); }, 2000);</script>';</pre>
?>

şeklinde kullanabilirsiniz. Bir sonraki yazımda görüşmek üzere faydalı olması dileğiyle 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Solve : *
23 × 12 =