lostyazilim

jQuery de iki sorunun cevabına ihtiyacım var ? Şimdiden teşekkürler.

7 Mesajlar 811 Okunma
lstbozum
wmaraci reklam

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
1. jQuery ile işlem yaptırdığımızda, butona hızlı hızlı tıklayınca . diyelim 10 defa tıkladık butona , 10 işlemi de tek tek tek sorguluyor . o ara sayfa donuyor . sorgulama bitince kendine geliyor .

2. Birde her butona bastıgımızda işlem artıyor . Şöyleki başlık yazmayı unuttuk diyelim gonder dıyoruz. baslıgı doldur dıyor . doldurup gonderdıgımız de bu kez 2 defa gonderıyor . baska bır eksıgı gıderdıgımız de 4 defa gonderıyor. 2 ye katlayarak gıdıyor .
 

 

wmaraci
reklam

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
1. Sorun için ben böyle bir yol deniyorum ;
(Ajax işlemlerimde)
$(document).ready(function() {
var oneMoreTime = 1; // sürekli işlem yapamaması için bir değer tanımladık

$(".button").click(function() {
var form = $("form").serialize();

if( oneMoreTime == 1 ) // değerimiz 1 ise işlem yap
{
oneMoreTime = 0; // değeri 0 la dedik, tekrar 1 olana kadar işlem yapamayacak
$.ajax({
type: "POST",
url: "dosyadi.dosyauzantisi",
data: form,
success: function(data) {
// işlemler

oneMoreTime = 1; // tekrar işlem yapabilmesi için aktif ettik
}
});
}

return false;
});
});


2. Sorununuz için kodları görmemiz gerek :)
 

 

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
edcsmile

Hocam 2. soru için kodlarım .

function i_submit() {

$("form#data").submit(function(e){

e.preventDefault();

var formData = new FormData($(this)[0]);

$('#result').stop().html('
').fadeIn();

$.ajax({
url: "functions.php?cr=i_submit",
type: "POST",
data: formData,
dataType: "json",
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (reply) {

if (reply.error) {
$("#result").html(reply.error).fadeIn(1000);

} else if (reply.succes) {
$("#result").html(reply.succes).fadeIn(1000);

} else {

}
}
});
return false;
});
}
 

 

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
"baslıgı doldur dıyor . doldurup gonderdıgımız de bu kez 2 defa gonderıyor" demiştiniz. Çıktınız mı 2 kere geliyor? Kodlarda bir problem göremedim henüz.. Her seferinde çıktınızı "html" olarak almışsınız haliyle php den ne çıktı gelirse 1 kere verecektir. Sorumu cevaplarsanız eğer php kısmınada bakabiliriz
 

 

wmaraci
wmaraci

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
edcsmile Hocam her gondermede ikiye katlıyarak formu gonderıyor .

Php kodlarım

case'i_submit';
usleep(250000);


if (!empty($_POST)) {

if (trim($_POST['title'])=='' OR empty($_POST)) {
$array["error"] = '

Başlık boş olamaz

';
} else if (trim($_POST['price'])=='' OR empty($_POST)) {
$array["error"] = '

Fiyat alanı boş olamaz

';
} else if ($_FILES['file']['tmp_name'][0] == "") {
$array["error"] = '

Resim alanı boş bırakılamaz

';
} else {
$array["succes"] = '

Başarılı

';
}

echo json_encode($array);
}
break;


ek : her butona basmada . 1 2 4 8 16 katlayarak form da kı verılerı php kodlarıma gönderiyor. doğal olarak buda database insert ederken en son başarılı oldugunda kac defa butona basılmıssa katlanmıs sekılde ınsert edıyor 4 8 16 .
 

 

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
1. Soruya verdiğimiz cevapla filtreleme yapıp, php içerisinde "sleep" yani sayfayı uyutarak fazladan veri gönderimini halloldu :) Bu tip sorun yaşayacak arkadaşlar için filtreleme yapmayı unutmayın..

Kolay gelsin :)
 

 

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
edcsmile Hocam eline koluna sağlık . teşekkürler
ikodev

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al