+ Yanıtla
Toplam 10 sonuçtan 1 ile 10 arası olanlar

Konu Başlığı: Ajax Postta Veri Gönderme

  1. #1

    Ajax Postta Veri Gönderme

    Merhaba

    var http = nesneyarat();
    function kategori(a,b) {
    var sira = a;
    var kat = b ;
    alert('kategoriler.ASP?kat=' + kat + '&sira=' + sira);
    http.open('get', 'kategoriler.ASP?kat=' + kat + '&sira=' + sira );
    http.onreadystatechange = kategoricevap;
    http.send(null);
    }

    function kategoricevap() {
    var a = <%=request.QueryString("sira")+1%>; alert(a);
    if(http.readyState == 4){
    document.getElementById('kat'+a).innerHTML = http.responseText;
    }
    }


    Kırmızı ile gösterdiğim kategori fonksiyonundaki sira değişkenini kategoricevap fonksiyonundanki a degiskenine nasıl aktarabilirim acaba? Direk var a=sira; yazdığımda aktaramıyorum.

  2. #2

    Re: Ajax Postta Veri Gönderme

    eğer demek istediğini doğru anlayabildiysem; en üstte yani fonksiyonların dışında global bir değişken tanımlarsın. sonra fonksiyonların dinamik olarak icrası esnasında o global değişkene hem değer atayıp hem de değerini alabilirsin.

    var global_sira;

    function func1(a){
    var sira = a;
    global_sira = a;
    }

    function func2(){
    var a = global_sira;
    }
    sevgiSaygi = true;

  3. #3

    Re: Ajax Postta Veri Gönderme

    Wefra yukarıda bahsettiğim olayda aynı mantıkta değilmi? var sira = a; olarak tanımladığım bir nesneyi diğer fonksiyonda var a=sira; olarak okutamadım.

    Yalnız sorunumu hallettim.degisken adında bir textbox oluşturdum ve bilgileri ona gönderip ondan çekmeyi başardım.Teşekkürler.

  4. #4

    Re: Ajax Postta Veri Gönderme

    var sira = a; şeklinde tanımlama fonksiyonun içinde. Bu yüzden dışardan erişilemez. Aşağıdaki şekilde heryerden erişilir olurdu.

    var sira;
    function kategori(a,b) {
    sira = a;
    ....

    Benim verdiğim örnekteki şekil ise sorunumu çözdüğüm dediğin gibi çalışıyor. Dışardaki bir değişkeni kullanıyor yani.
    sevgiSaygi = true;

  5. #5

    Re: Ajax Postta Veri Gönderme

    Hıım anladım yani function kategori(a,b) şeklinde kullanılması fonksiyonun global olmadığı anlamına geliyor.Teşekürler

  6. #6

    Re: Ajax Postta Veri Gönderme

    wefra peki birşey daha sormak istiyorum.

    idleri kat1,kat2,kat3,kat4 diye giden bir yapım var.örneğin degisken textboxında 2 yazıyorsa sadece kat1 ve kat2 idlerinin gözükmesini nasıl sağlıyabilirim?

  7. #7

    Re: Ajax Postta Veri Gönderme

    kat1, kat2... şeklinde yapı dediğin eğer HTML kod içindeki "<a>" linkler ise; konu biraz dallanır gibime geliyor. Eğer bahsettiğin yapıyı doğru anlamışsam her linke farklı bir "id" vererek onları JavaScript fonksiyonları içinden ulaşılabilir yaparsın. Örneğin <a href="kategori.ASP?kat=3" id="link3">kategori 1</a> şeklinde ise; bu linke JavaScript içinden aşağıdaki şekilde erişip en azından linkini iptal edebilirsin.

    Kod:
    var link;
    if(textBox == 2){
       link = document.getElementById('link3');
       link.href = '#';
       link = document.getElementById('link4');
       link.href = '#';
    }
    
    yukarıdaki örnek tabii ki temsili.
    Eğer istediğin linkleri HTML kodları içinden gerçekten yok etmek diyorsan; innerHTML ile bayağı bir işlemler yapmak gerekir.
    sevgiSaygi = true;

  8. #8

    Re: Ajax Postta Veri Gönderme

    bahsettiğim yapı link olarak değil combobox olarak çalışıyor.örneğin 1.combodan seçim yapınca 2.combo açılıyor 2.den yapınca 3. açılıyor 4..5 diye gidiyor.Ancak 2. combodan farklı bir seçim yaptığımda 4 ve 5 kaybolmuyor.ben onların kaybolmasını istiyorum. yani idsi kat2 den büyük olanlar gözükmesin istiyorum.Sen link3 link4 şeklinde adlandırmışsın ancak bunun 4le sınırlı olacağı belli değil.yani link5 link6 da olabilir sadece link3te olabilir.

    yani eger 2den büyükse gösterme demem gerek.

  9. #9

    Re: Ajax Postta Veri Gönderme

    Comboların görünme istenmeyenlerin görünürlükleri style ile iptal edilebilir.
    <select id="combo1" onChange="tazele(1);">
    <select id="combo2" onChange="tazele(2);">
    ...

    Kod:
    function tazele(combo_id){
    	var combo_adet = 5;
    	if(combo_id >=  combo_adet - 2){
    		return;
    	}
    	for(var i = 1; i <= combo_adet; i++){
    		aktif_combo = document.getElementById('combo' + i);
    		if(i < combo_id + 1){	
    			aktif_combo.style.display = "inline";
    		}else{
    			aktif_combo.style.display = "none";
    		}
    	}
    }
    
    Böyle bir şekilde seçilen combonun sağında kalanların 2.sinden itibaren görünmez yapılabilir.
    sevgiSaygi = true;

  10. #10

    Re: Ajax Postta Veri Gönderme

    Teşekkürler wefra birebir aynı kodla olmasada verdiğin fikirle olayı çözdüm.

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz