.serialize
restituisce una stringa, in modo da poter sempre modificare la stringa, ma io non consiglierei questo, manipolazione di stringhe può ottenere disordinato.
Utilizzare invece .serializeArray
[docs] per creare una rappresentazione di matrice dei dati e quindi aggiungervi i dati. Ogni elemento dell'array è un oggetto con una proprietà name
e value
:
var vals = $("#post").find('input,select').serializeArray();
vals.push({name: 'nameOfTextarea', value: CKEDITOR.instances.ta1.getData()});
Tutti i metodi jQuery Ajax capiranno questa struttura e serializzare i dati correttamente. Nel caso in cui si desidera creare una stringa serializzata (proprio come .serialize
), è possibile passare la matrice per $.param
[docs]:
var query_string = $.param(vals);
fonte
2012-12-31 14:45:11
Beh ... '.serialize' restituisce una stringa. Puoi sempre modificare la stringa se questo è ciò che vuoi sapere. Ma forse sei più interessante in '.serializeArray()': http://api.jquery.com/serializeArray/. –
Grazie Felix. Puoi per favore mostrarmi come farlo? Sono analfabeta JQ. – NaN
beh, serializzare il motto principale era quello di ottenere valori da tutto il modulo e renderlo stringa! per esempio. ? name = user & password = heart –