AJAX generic form parser

  07/15/2006, Yazar: Özgür Koca, Kategori: Ajax, Web Tasarım

esasında AJAX’lı uygulamalarda zamandan ve koddan tasarruf sağlasın diye hazırlanmış örnek bir uygulama yer alıyor. Kodlarının en önemli noktasını web formunun kolayca gönderilmesini sağlayan el  yapımı javascript  fonksiyonu oluşturuyor. getForm ismindeki fonksiyon parametre olarak verilen formdaki tüm input nesnelerini (checkbox ve radio’da dahil) isim ve içerikleriyle bilrlikte string formatına çeviriyor.

Örnek vermek gerekirse adiText isimli bir metin kutusu, evliRadio isimli radio takımı, hobi1 ve hobi2 ismindeki checkbox’ların yer aldığı bir formu; adiTextBox=ensei&evliRadio=false&hobi1=true&hobi2=false şeklindeki bir string’e çevirmeye yarıyor. AJAX yontemiyle bir html formu PHP’ye gönderilmek istendiğinde yukarıdaki gibi bir string mutlaka oluşturulmalı. Zaten AJAX yönteminde form doğrudan sayfa ile post edilmek yerine XMLRequest nesnesi aracılığıyle gönderiliyor ve çıktısı alınıyor.

function getForm(fobj) { var str = ""; var ft = ""; var fv = ""; var fn = ""; var els = ""; for(var i = 0;i < fobj.elements.length;i++) { els = fobj.elements[i]; ft = els.title; fv = els.value; fn = els.name; switch(els.type) { case "text": case "hidden": case "password": case "textarea": // is it a required field?   if(encodeURI(ft) == "required" && encodeURI(fv).length < 1) {  alert('''+fn+'' is a required field, please complete.');  els.focus();  return false; } str += fn + "=" + encodeURI(fv) + "&"; break; case "checkbox": case "radio": if(els.checked) str += fn + "=" + encodeURI(fv) + "&"; break;  case "select-one":  str += fn + "=" +  els.options[els.selectedIndex].value + "&"; break; } // switch  } // for  str = str.substr(0,(str.length - 1)); return str; } 

PHP tarafında form değişkenlerini okutmak için kullanılacak kod parçasıda kısaca söyle: 

  foreach($_GET as $a => $b) {        echo "<b>$a</b>: ".stripslashes(htmlentities($b))." <br />"; }   }

Yazan: Tankado







Bu yazıya puan verin: 1 Puan2 Puan3 Puan4 Puan5 Puan6 Puan7 Puan8 Puan9 Puan10 Puan


1 yorum yapıldı



Biraz gürültü yapın





Not: Yazdığınız yorum yönetici tarafından onaylandıktan sonra yayınlanacaktır.


  Yorumlara eposta ile abone ol




  • Hakkında | İletişim | Wordpress.org | RSS | Abone Ol

  • (c) 2005-2009 Wordpress Tema: Tankado & Theme by Tankado.com