Prototype.js Kılavuzu - 2

Hazır Kütüphaneler orhan

Form.serialize() Metodu

Özellikle Ajax uygulamalarında bir formdan elde ettiğimiz verileri "XMLHttpRequest" nesnesi aracılığı ile sunucuya göndermemiz gerektiği durumlarda, bu fonksiyon ile yine ID'si aracılığıyla form verilerini bir sorgu cümlesi halinde elde edebilmekteyiz.

function VerileriAl(formid)  {
       var formverisi = Form.serialize(formid);
       // request işlemleri vs.
       alert(formverisi);
 }

Biraz önce $F() fonksiyonunun radyo düğmelerinde sorunlu olduğunu belirtmiştik. Fakat "Form.serialize()" fonksiyonu bu konuda gayet sorunsuz bir biçimde çalışmakta ve seçili değeri döndürmektedir.

Form işlemleri için bütün fonksiyonlar bunlar değiller, daha kapsamlı bilgi için; Sergio'nun dokümantasyonuna veya Prototype API dokümantasyonuna göz atabilirsiniz. Genel olarak:

  • Form.enable: Bir formdaki tüm form elementlerinin aktiflik durumunu aktif olarak ayarlar.
  • Form.disable: Bir formdaki tüm form elementlerinin aktiflik durumunu devredışı olarak ayarlar.
  • Form.serialize: Yukarda anlatıldı.
  • Form.serializeElements: Form elemanlarını ve değerlerini bir dizi şeklinde döndürür.
  • Form.getElements: Yukarda anlatıldı.
  • Form.getInputs: Belirttiğiniz türdeki yada isimdeki (belirtilmezse tüm form inputları) bir seri değişken olarak döndürür.
  • Form.findFirstElement: Belirtilen formdaki ilk elementi bulup döndürür.
  • Form.focusFirstElement: Kursörü belirtilen formdaki ilk elemente odaklar.
  • Form.reset: Formdaki tüm elementleri sıfırlar.

Form.Element ile Form Elemanlarının Kontrolü

Form nesnesi ile bir form etiketi ve içeriği üzerinde değişiklikler yapabildiğimizi görmüştük. Biraz daha özel olarak bir form elemanının özellikleri üzerinde değişiklik veya form elemanından bilgi elde etme gibi işlemleri de "Form.Element" metotları ile yapabilmekteyiz. Başlıca metotlar:

  • Form.Element.activate: ID'si verilen form elemanına kursörü odaklar ve bir metin alanı ise içeriğini seçer.
  • Form.Element.clear: Form elemanının içeriğini temizler.
  • Form.Element.disable: Form elemanını devre dışı bırakır.
  • Form.Element.enable: Form elemanını aktive eder.
  • Form.Element.focus: Form elemanına kursörü odaklar
  • Form.Element.getValue: Form elemanının değerini verir. Genelde bir metin döndürür. Çoklu seçime olanak tanıyan elemanlarda bir dizi döndürür.
  • Form.Element.present: Metin alanı bir içeriğe sahipse "true" aksi taktirde "false" döndürür.
  • Form.Element.select: Bir metin alanı içindeki o anki metni seçer.
  • Form.Element.serialize: Form elementi için "isim=deger" şeklinde sorgu cümlesi parçacığı üretir.

Örnek bir kullanım:

JAVASCRIPT:
  1. $('metin_alani').onfocus = function() {
  2.       // eğer zaten temizlenmişse bir şey yapma
  3.       if (this._cleared) return;
  4.       // bu kod çalışırken "this" deyimi metin alanının nesnesini ifade edecektir
  5.       this.clear();
  6.       this._cleared = true;
  7. }

Devam edecek ...

Sayfalar: 1 2

Toplamda 6448 kez okunmuş.
Şu an 1 kişi okuyor.
En fazla 5 kişi aynı anda okumuş.
Bugün 7 kez okunmuş.

Etiketler:

1 oy2 oy3 oy4 oy5 oy (11 oy, ortalama 4.82) Oylanıyor ... Oylanıyor ...

  1. PHP ve Yerleşik DOM Sınıfları
  2. Javascript Sanal Klavye Yapalım
  3. Ajax Olmasaydı Ne Yapardık ? :)

Trackback Yorumları takip et Baskı Önizleme

6 yorum var

  1. # grkn | 10 Mart 2007, 12:27 Gravatar

    gerçekten yararlı bir makale teşekkürler..

  2. # Ali Altuğ KOCA | 11 Mart 2007, 00:51 Gravatar

    çok güzel bir makale olmuş arkadaşlar emeklerine sağlık.en çok kullanılan prototype kütüphanesini tanıtarak büyük bir iş yapıyorsun kutlarım.

  3. # ayşe | 12 Mart 2007, 14:01 Gravatar

    http://cross-browser.com/x/lib/
    Yukarıdaki sitede de galiba bir x kütüphanesi var. Onlar da javascript ile mi ilgili? Javascript ile ilgiliyse eğer, birgün onları da anlatacak mısınız? Teşekkürler.

  4. # eburhan | 12 Mart 2007, 16:54 Gravatar

    @ayşe
    Evet o bir javascript kütüphanesiymiş. Vaktimiz olduğunda inceleriz inşallah :)

  5. # hayat | 12 Mart 2007, 20:17 Gravatar

    cok güzel.

  6. # oceangray | 17 Mart 2007, 15:58 Gravatar

    devamını sabırsızlıkla bekliyoruz…

Yorum yazın

sayfa sayacı