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

Konu Başlığı: Ajax ile ilgili Bir Problem

  1. #1

    Ajax ile ilgili Bir Problem

    Merhaba,

    Yakın zamandır ajax ile uğraşıyorum. İlk olarak uygulamamın işleyişinden bahsetmek istiyorum. İlk önce veritabanından kayıtlar okunarak liste halinde sıralanıyor. Her kayıtın yanında Edit linki bulunuyor. Edit linkine tıklanınca ajax ile içerik değişiyor ve tıklanan kaydın ayrıntıları form içerisinde geliyor. Buraya kadar sorun yok. Gerekli değişiklikler yapılınca Güncelle butonuna basınca yine axaj ile formdaki bilgiler gönderilecek ve sayfa değişmeden ajax sayesinde seçilmiş olan kaydın güncellenmiş hali gösterilecek. Burada sorunum güncelle butonuna basınca formdaki sorgu gönderiliyor fakat güncellenmiş kayıtı görüntüleyemiyorum. Hata olarak ise ajaxContentArea adını verdiğim div in null olarak gözükmesi. Kullandığım Javascrip Kodu aşağıdadır.
    Kod:
    // JavaScript Document
    var xmlHttp
    
    function ajaxContent(strURL,getOrPost,params,ajaxArea)
    {
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support ajax!");
      return;
      }
    var formMethod = getOrPost;
    var url=strURL;
    url=url+"&sid="+Math.random();
    xmlHttp.onreadystatechange=function() {stateChanged(ajaxArea);};
    xmlHttp.open(formMethod,url,true);
    if (params!=null)
    	{
    		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    		xmlHttp.setRequestHeader("Content-length", params.length);
    		xmlHttp.setRequestHeader("Connection", "close");
    		xmlHttp.send(params);
    	}
    else
    	{xmlHttp.send(null);}
    }
    
    function stateChanged(ajaxAreaName)
    {
    	var resultArea = document.getElementById(ajaxAreaName)
    	if (xmlHttp.readyState==4)
    	{
    		if (resultArea!=null)
    		{
    			resultArea.innerHTML=xmlHttp.responseText;
    		}
    		else
    			return false;
    	}
    }
    
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    return xmlHttp;
    }
    
    Aşağıdaki fonksiyonda resultArea yı null olarak görüyor.
    Kod:
    function stateChanged(ajaxAreaName)
    {
    	var resultArea = document.getElementById(ajaxAreaName)
    	if (xmlHttp.readyState==4)
    	{
    		if (resultArea!=null)
    		{
    			resultArea.innerHTML=xmlHttp.responseText;
    		}
    		else
    			return false;
    	}
    }
    
    Yukarıda
    Kod:
    var resultArea = document.getElementById(ajaxAreaName)
    
    yazan yeri şu şekilde yazarsam sorun olmuyor.
    Kod:
    var resultArea = document.getElementById('ajaxContentArea')
    
    Fakat ben farklı yerlerde farklı divleri değiştirmem gerekiyor. Bu şekilde değişecek alanın id'sini sabitlersem benim için sıkıntı oluşturur. Onun için fonksiyona değişecek alanın id sini benim belirlemem gerekiyor.

    Bu konuda nasıl bir çözüm üretebiliriz?

    NOT : sorun çzöülmüştür.
    Mesaj hasan tarafından 22.05.2007 (10:06) yeniden düzenlendi. Açıklama: Sorun Çözülmüştür

  2. #2

    Re: Ajax ile ilgili Bir Problem

    hasan sanırım sorunun daha farklı birşey; neden çalışmaz ki dedim sorunu yaşadığın kodu basit bir HTML sayfası kullanarak çalıştırdım; çalıştı. yordun beni boşuna :P
    :::: AnIL'dan bu kadar:::::

+ 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