serialize
renvoie une URL-encodé chaîne de caractères contenant les champs du formulaire. Si vous avez besoin d'ajouter, vous pouvez le faire en utilisant l'URL standard-chaîne codée règles, par exemple:
var values = $("#frmblog").serialize();
values += "&content=" + encodeURIComponent(content_val);
(Ci-dessus suppose que il y aura toujours une valeur en values
après l' serialize
appel; si ce n'est pas nécessairement vrai, déterminer s'il faut utiliser &
basée sur le fait qu' values
est vide avant d'ajouter.)
Alternativement, si vous le souhaitez, vous pouvez utiliser serializeArray
, puis les ajouter dans le tableau et utiliser jQuery.param
à son tour le résultat dans une chaîne de requête, mais cela semble un long chemin de ronde:
// 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);
Mise à jour: Dans un commentaire ajouté plus tard, vous avez dit:
Le problème est, il est certaines valeurs par défaut définies dans la clé "content" au cours de la serilization processus, donc je ne peux pas il suffit de fixer une nouvelle valeur, je dois mettre à jour celui déjà en elle"
Qui change les choses. C'est une douleur pour rechercher content
au sein de la chaîne codée au format URL, donc j'irais avec le tableau:
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);
Vous auriez probablement envie de faire ce réutilisables fonction.