我正在使用ckeditor,并希望序列化textarea数据以及所有其他元素。这可能吗?我可以将数据添加到已经序列化的阵列吗?
如果可能,我想追加taData到vals。
var vals = $("#post").find('input,select').serialize();
var taData = CKEDITOR.instances.ta1.getData();
我正在使用ckeditor,并希望序列化textarea数据以及所有其他元素。这可能吗?我可以将数据添加到已经序列化的阵列吗?
如果可能,我想追加taData到vals。
var vals = $("#post").find('input,select').serialize();
var taData = CKEDITOR.instances.ta1.getData();
.serialize
返回一个字符串,这样你就可以随时修改字符串,但我不会推荐,字符串操作会导致混乱。
取而代之,请使用.serializeArray
[docs]创建数据的数组表示形式,然后将数据添加到其中。该数组的每个元素是具有name
和value
属性的对象:
var vals = $("#post").find('input,select').serializeArray();
vals.push({name: 'nameOfTextarea', value: CKEDITOR.instances.ta1.getData()});
所有的jQuery Ajax的方法将理解本结构并正确序列化的数据。如果你想创建一个序列化的字符串(就像.serialize
),您可以将数组传递给$.param
[docs]:
var query_string = $.param(vals);
嗯...'.serialize'返回一个字符串。你可以随时修改字符串,如果这是你想知道的。但是''.serializeArray()'也许你更有趣:http://api.jquery.com/serializeArray/。 –
谢谢菲利克斯。你能告诉我怎么做吗?我是JQ文盲。 – NaN
好吧,序列化的主要格言是从整个表单中获取值并使其成为字符串!例如?name = user&password = heart –