Django:如何将内联tinymce元素的值绑定/保存到表单字段?

时间:2017-03-08 12:38:59

标签: django tinymce django-crispy-forms

我有一个脆弱的表单,有两个字段:名称和值。

我必须在值字段上有内联的tinymce编辑器。

所以我这样做了表单类:

class MyForm(ModelForm):
    class Meta:
        model = SomeModel
        fields = ('name', 'value')

    def __init__(self, *args, **kwargs):
        super(MyForm,, self).__init__(*args, **kwargs)

        self.helper.layout = Layout(
            'name',
            Field('value', type='hidden'),
            HTML('<div class="wrapper"><span class="editable"></span></div>'),
            FormAction(Submit('submit', 'Submit')
        )
模板中的

{% crispy form %}

<script>
  tinymce.init({
    selector: 'span.editable',
    toolbar: "superscript subscript",
    menubar:false,
    inline:true
  });

$('span.editable').html($('#id_value').val());

我无法弄清楚如何保存表单将编辑的span元素文本提交到'value'字段。

1 个答案:

答案 0 :(得分:0)

我不确定这是否是正确的答案,但它现在看起来有效......

我向表单添加了提交事件监听器,并将span元素中的新值添加到隐藏字段。

$('form').submit(function() {
    $('#id_value').val($('span.editable').html());
});