Bir formda birden fazla butonla işlem yapma

  • 13 Mayıs 2016
  • 64 Okunma
  • 2 Yorum
  • 5 DK

Merhabalar Arkadaşlar,

Bazen aynı form içinde birden fazla buton kullanmak durumunda kalabilirsiniz. Yani şöyle anlatayım. Bir tane form etiketinin içinde bir den fazla buton örn: Önizleme Kaydet gibi 2 ayrı buton olsun 2 butonda formdaki aynı verileri farklı şekilde işlemesi gerekiyor. Ona da örnek vermek gerekirse bir form düşünün pdf oluşturup hem görüntüsünü görmek hemde işlem doğru ise mail ile yollamak istiyorsunuz. Ben size formun kullanım mantığını göstereceğim. Pdf oluşturma ve mail yollama kodlarını göstermeyeceğim.

Hemen başlayalım.
İlk olarak formumuzu oluşturuyoruz ve ek olarak bir kaç değişiklik yapmamız gerek. İlk önce form etiketine bir class atamamız lazım.

ÖRN

yukarıdaki gibi bir class atatıktan sonta genelde form etiketinin hemen altına oluşturduğum.


etiketini koyuyorum. Bu çok önemli, php dosyasında gelen name deki değeri alıp ona göre işlem yaptıracağım. Peki ama bu value sabit bunu nasıl değiştiririm diye sorarsanız burada jquery kullanacağız.

Kodlarımı aşağıda mevcut.

//ÖNİZLEME BUTONU
$('.onizleme').on('click',function(){ //Önizleme buttonuna tıklandığın
var link = $(this).attr('href'); //a etiketi ise href paremetresinin değerini al
var form = $('form.pdfolustur'); //form etiketini seç
var formaction = $(form).attr('action'); //form etiketinin action parametresinin değerini al
$(' .postatma',form).val('onizleme'); //postatma inputunun değerini onizleme yap ****
form.attr('target',"_blank"); //formu yeni sekmede açtır
form.attr('action',formaction); //Başka sayfaya post etmesi gerekiyorsa actionu değiştir
form.submit(); //değişiklikler bitince formu submit ettir.
form.attr('target',"_self");//Normal butona tıklandığında normal post için değerleri eski haline al
$(' .postatma',form).val('true');//Yukarının aynısı
return false;//Sayfa yenilenmemesi için
});
//ÖNİZLEME BUTONU

Kodları size okuyayım. “onizleme” classına sahip olan butona tıklandığında ki bu button a etiketine bağlı yani şöyle göstereyim.

ÖNİZLEME

Yukarıdaki kodların ne işe yaradığını yan taraflarına yorum satırı olarak yazdım umarım anlatabilmişimdir. Eğer anlamazsanız yorum yapmaktan çekinmeyin.

Bu işlemlerden sonra php dosyanızda “postatma” değerini kontrol etmeniz gerekiyor. Gelen değer “onizleme” ise ona göre ayrı bir işlem true gelirse başka bir işlem yaptırabilirsiniz.

Tüm işlem bu kadar boş bi vaktimde size örnek yapıp göstereyim daha iyi anlamanız için. Okuduğunuz için teşekkürler 🙂

HAYATI KODLA'YA ABONE OLUN!!

Bir formda birden fazla butonla işlem yapma İle Benzer Yazılar

"Bir formda birden fazla butonla işlem yapma" Yazısına uygun diğer makalerler