Jquery post işlemleri genellikle tek seferliktir. Yani veriyi sayfaya post edip geri dönüşü bir div içerisinde yazdırırsınız. Bunun kullanımı gayet basittir. Mesela şu şekilde yapılabilir,
function yorum(){ var veriler = $('#commentform').serialize(); $.ajax({ type: "POST", url: "yorum.php", data: veriler, success:function(cevap){ $("#sonuc").html(""+cevap); } })};
Yorum butonuna basılınca id değeri commentform olan formdaki veriler alınıp yorum.php ye post ediliyor. Yorum.php’den gelen cevap ise sonuc id ‘li div de gösteriliyor.
Birde şöyle bir senaryo yazalım. Kullanıcıya email doğrulaması yaptıracaksınız. İlk formdan giden email adresini sayfaya alıp doğrulama kodunu gönderiyorsunuz. Daha sonra ilk form kaybolup ikinci form açılıyor. Bu formda ise kullanıcı email adresine gelen şifreyi yazacak ve sizde gönderdiğiniz şifre ile karşılaştıracaksınız. Ama burada bir sorun var. İkinci form’un şifreyi bilmesi gerekiyor. Bunun içinde ilk formdan şifre değeri geri dönmeli fakat kullanıcıya görünmemeli. Bunu yapmak içinde geri dönen değeri direk jquery içinde almanız gerekiyor. Bunu şu şekilde yapabilirsiniz,
var data = $('#kontrol').serialize(); var gelsifre = $.ajax({ type: 'POST', url: "gonder.php", data: data, dataType: 'html', context: document.body, global: false, async:false, success: function(data) { return data; } }).responseText;
Yapımız şu;
kontrol id li formdaki veriler gonder.php’ye post ediliyor. Gonder.php ‘den dönen yanıt ise gelsifre değişkenine atanıyor. Yani kullanıcıya gönderdiğimiz şifreyi gelsifre değişkeninde saklıyoruz. Daha sonra ikinci formda kullanıcının yazdığı şifre ile gelsifre değişkenini kıyaslıyoruz.
if (sifre === gelsifre) { //Başarılı, Şifre doğru girildi } else { //Başarısız, Şifre Yanlış Girildi }
İnternet’te gördüğüm bu kod parçasını sizinle de paylaşmak istedim. Bana sorarsanız 2 adımlı form işlemlerinde kullanılabilecek gayet kullanışlı bir yapı. Umarım beğenmiş sinizdir. Makaleme oy verip yorum yaparsanız sevinirim. Sağlıcakla kalın.