Burada 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

CEVAP VER

This site uses Akismet to reduce spam. Learn how your comment data is processed.