.serialize
zwraca ciąg znaków, więc zawsze można zmodyfikować ciąg, ale nie polecam tego, manipulacja łańcuch może się bałagan.
Zamiast tego należy użyć .serializeArray
[docs], aby utworzyć reprezentację tablic danych, a następnie dodać do niej dane. Każdy element tablicy jest obiekt z właściwością name
i value
:
var vals = $("#post").find('input,select').serializeArray();
vals.push({name: 'nameOfTextarea', value: CKEDITOR.instances.ta1.getData()});
Wszystkie metody jQuery Ajax będzie zrozumieć tę strukturę i dane serializacji prawidłowo. W przypadku, gdy chcesz utworzyć ciąg odcinkach (podobnie jak .serialize
), można przekazać tablicę do $.param
[docs]:
var query_string = $.param(vals);
Cóż ... '.serialize' zwraca ciąg znaków. Zawsze możesz zmodyfikować ciąg znaków, jeśli chcesz to wiedzieć. Ale może jesteś bardziej interesujący w '.serializeArray()': http://api.jquery.com/serializeArray/. –
Dzięki Felix. Czy możesz mi pokazać, jak to zrobić? Jestem analfabetką JQ. – NaN
Cóż, serializować główne motto było uzyskanie wartości z całego formularza i uczynić go ciągiem! na przykład ? name = user & password = heart –