gpt4 book ai didi

javascript - 如何使用ckeditore使用ajax发送数据?

转载 作者:行者123 更新时间:2023-11-29 10:20:25 24 4
gpt4 key购买 nike

我在 django 中有一个表单。它是“撰写邮件”表格。我将此表单从 View 发送到我的模板,然后我应用 ckeditor 来更改主体样式。我希望此表单由 ajax 发布。当使用 ckeditor 时,body 字段的值不会随 request.POST 一起发送。我使用这行代码来使用 ckeditor:

CKEDITOR.replace('id_body'); 

(不使用 ckeditor,一切正常。)

<form id="compose_form" action="compose/" method="post">
{% csrf_token %}
{{ form.non_field_errors }}
<div>
<div class="form-field">
<label for="id_recipient">{% trans 'recipient' %}:</label>
{{ form.recipient }}
{{ form.recipient.errors }}
</div>
<div class="form-field">
<label for="id_subject">{% trans 'subject' %}:</label>
{{ form.subject }}
{{ form.subject.errors }}
</div>
</div>
<div class="form-field">
{{ form.body }}
{{ form.body.errors }}
</div>
<input id="messages-submit" type="submit" value=""Send"/>
</div>
</form>

我使用这个脚本通过 ajax 发送表单数据:

<script type="text/javascript">
$(function() {
$('#compose_form').submit(function() {
var temp = $("#compose_form").serialize();
$.ajax({
type: "POST",
data: temp,
url: 'compose/',
success: function(data) {
// do s.th
}
});
return false;
});
});
</script>

使用此脚本,正文值不会发送到 request.POST(我的意思是它在正文字段中发送空字符串),当我将以下行添加到我的脚本时,它会发送正文字段的值,但它不是不再使用 ajax。你能帮我做什么吗?

最佳答案

编辑器中的数据未包含在表单中的原因是编辑器不是表单的一部分。它需要更新与之关联的表单元素。为此,您需要告诉编辑器更新表单元素。

因此,在表单的提交功能中,您需要从编辑器中获取数据。

这应该可以解决问题:

$(function() {
$('#compose_form').submit(function() {
for (var instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
var temp = $("#compose_form").serialize();
etc etc...

关于javascript - 如何使用ckeditore使用ajax发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13329984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com