在 django 框架中使用 Jquery 获取 CKEditor 值



我正在使用 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 的变量保存该值。

最新更新