SORU
22 ŞUBAT 2011, Salı


Nasıl jQuery seri form verilerini değiştirme?

AJAX benim formu göndermek için çalışıyorum, seri hale getirmek için var() veri. Ama ben kullanarak fckEditor ve jQuery bilmiyor nasıl iş yapacağız, sonra seri hale getirme, benim yapmaya çalıştığım için el ile değiştirin, ama hayır şans şimdiye kadar... herhangi bir fikir

if(content_val!=""){
    var values = $("#frmblog").serialize();
    values.content = content_val; //content_val is the manually fetched data which I am trying to insert into the serialized content.
    alert(content_val); alert(values);
}

CEVAP
22 ŞUBAT 2011, Salı


serialize URL olarak kodlanmış bir dize form alanları içeren döndürür. Eğer eklemek istiyorsanız, standart URL olarak kodlanmış dize kuralları, örneğin kullanarak bunu:

var values = $("#frmblog").serialize();
values  = "&content="   encodeURIComponent(content_val);

(Yukarıdaki varsayar daima olacaktır bir değer values sonraki serialize Ara; eğer o değil, bu o kadar da doğru olup olmadığını belirlemek için kullanın. & bağlı olup olmadığını values boş önce ekleyin.)

Alternatif olarak, eğer istediğiniz gibi kullanabilirsiniz serializeArray ve sonra da eklemek için dizi ve kullanmak jQuery.param devre sonucu içine bir sorgu dizesi, ama öyle görünüyor ki uzun bir yol 'yuvarlak:

// You can also do this, but it seems a long way 'round
var values = $("#frmblog").serializeArray();
values.push({
    name: "content",
    value: content_val
});
values = jQuery.param(values);

GüncellemeBir yorum daha sonra ilave söyledi:

Sorun, bazı varsayılan değerler tuzak 'içerik' anahtar sırasında serilization süreç, ben sadece eklemek yeni bir değer, ben güncelleştirme biri zaten"

O zaman işler değişir. URL olarak kodlanmış bir dize içinde content aramak için bir ağrı var, bu dizi ile gitmek istiyorum:

var values, index;

// Get the parameters as an array
values = $("#frmblog").serializeArray();

// Find and replace `content` if there
for (index = 0; index < values.length;   index) {
    if (values[index].name == "content") {
        values[index].value = content_val;
        break;
    }
}

// Add it if it wasn't there
if (index >= values.length) {
    values.push({
        name: "content",
        value: content_val
    });
}

// Convert to URL-encoded string
values = jQuery.param(values);

Muhtemelen bu yeniden kullanılabilir bir işlevi yapmak istersin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FD2097

    FD2097

    21 HAZİRAN 2009
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010