AJAX ile POST edilecek değerleri almak

AJAX ile bir form POST etmek, sonra da POST edilen değerleri kullanmak için uzun zamandır bir fonksiyon kullanmaktayım. Şimdiye kadar bir sorun çıkartmadığına göre buraya ekleyebilirim. Kod şu şekilde:


/**************************************************************************************
AJAX.createVals() (12.02.2005 / TM)
        `f` formundaki değerleri XHR nesnesi ile POST edilebilecek formata dönüştürür.
        Eğer formun içinde bir SELECT elemanı varsa, bunun hem değerini hem de TEXT kısmını
        alır ve string olarak geri döner.
***************************************************************************************/
function createVals(f){
        var oF = document.getElementById(f);
        var eL = oF.elements;
        var ts = "";
        var rs = "";
        var vA = new Array();
        for (var lL=0;lL < oF.length;lL++) {
                if((eL[lL].type==`text`) || (eL[lL].type==`hidden`) || (eL[lL].type==`password`) || (eL[lL].type==`textarea`) || (eL[lL].type==`select-one`)) {
                        if ((eL[lL].type==`select-one`)){
                                var c = eL[lL].options[eL[lL].selectedIndex].text;
                                var n = eL[lL].name + "_TEXT";
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                        else{
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                }
        }
        if (vA.length>0){
                rs=vA.join("&");
        }
        return rs;
}

Bu fonksiyonu kullanarak XHR nesnenizin POST edeceği değerleri oluşturabilir, daha sonra sunucu tarafındaki dosyanızda da (ASP, ASPX, PHP neyse artık) eski yöntemlerle değerleri alabilirsiniz. Bu fonksiyondaki artı bir şey (açıklamasında da yazdığı gibi) formdaki SELECT elementlerinin TEXT değerlerini de alması ve bunu gönderilecek değerler arasına sıkıştırması. Buna bir iki projede ihtiyaç duymuştum. Nasıl kullanıldığına dair örneği de bir ara eklerim herhalde...
 |  Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

Yorumlar Bu yazıya henüz yorum yapılmamış. İlk siz yapın.













Security Code


İsviçreli bilim insanlarının, yorumunuzu yapmadan önce, sitenin "Kullanım Koşulları"'ndaki Sitedeki Yorumlar bölümünü okumanızı tavsiye ettiklerini biliyor muydunuz?