我正在使用 CkEditor for Django,我有一个包含 3 个字段、产品代码、主题和正文的表单。前两个字段是普通字段,正文字段是从 forms.py 在模板上呈现的 CKEditor 字段。为了对这些数据进行 ajax 调用,我需要使用 Jquery 来获取 CkEditor 内容。怎么做?这是我到目前为止的代码。
我的模板:
form action="." method="post">
{{form2.as_p}}
{% csrf_token %}
<br><button name="form_submit" id="email_submit" type="submit" class="btn btn-primary" value="send_email">Submit</button>
</form>
我的表格:
class CustomersWhoBoughtForm(forms.Form):
product_code = forms.CharField(required=True, max_length=1000, label='Product Code')
subject = forms.CharField(required=True, max_length=1000, label='Email Subject')
body = forms.CharField(widget=CKEditorUploadingWidget(config_name='default')) #trying to get value of this field for Ajax Call
我试过这个:
var product_id= $('#id_product_code').val(); //This works
var subject = $('#id_subject').val(); //Also works
var body = $('#id_body').val(); //Does not work, neither does ck_id_body
这个问题
与django或python无关。关于如何从 CkEditor 获取内容是纯粹的,如果您搜索,就会有大量关于这个主题的答案。
以下是获取编辑器内容的方法:
var value = CKEDITOR.instances['id_body'].getData()
我在 django-ckeditor 上也有同样的问题,我尝试的是
<script type="text/javascript">
for (var instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
var temp = CKEDITOR.instances[instance].getData();
它工作正常,名为 temp 的变量保存该值。