通过CK编辑器获取价值并存储数据

时间:2015-03-28 10:20:27

标签: java javascript jquery html liferay

在表单中,我有一个名为Description的字段。通过CKEditor,我需要传递该值并将其存储在我的数据库中。谁能帮我吗?这是我的代码:

<div id="descriptionMore" style="margin-bottom:20px;margin-top: 38px;margin-left: 101px;">
    <aui:layout>
        <aui:column columnWidth="240">
            <liferay-ui:input-editor width="880" cssClass="richText" />
        </aui:column>
    </aui:layout>
</div>

2 个答案:

答案 0 :(得分:0)

首先,请确保您使用 aui:form

对您有用的链接。

这对您有用。

答案 1 :(得分:0)

    <%
    Content content = (Content) request.getAttribute(ApplicationConstants.CONTENT);      
    %>
  <portlet:actionURL var="saveOrUpdateContentUrl" name="saveOrUpdateContent">
        <portlet:param name="redirect" value="<%=currentURL%>" />
    </portlet:actionURL>
    <liferay-ui:header title='<%= (content==null) ? "new-content" : "edit-content"  %>' backURL="<%=redirect %>" />

    <aui:form method="post" name="content_fm" onSubmit='<%= "event.preventDefault(); " + renderResponse.getNamespace() + "saveEntry();" %>'>
        <aui:fieldset>
            <aui:field-wrapper label="product-content">
                <liferay-ui:input-editor />
                <aui:input name="content" id="content" type="hidden" />
            </aui:field-wrapper>

            <aui:button-row>
                <aui:button type="submit" />
            </aui:button-row>

        </aui:fieldset>
    </aui:form>
    <script type="text/javascript">
        function <portlet:namespace />initEditor() {
            return '<%= UnicodeFormatter.toString((content==null)? StringPool.BLANK : content.getContent()) %>';
        }
        function <portlet:namespace />getContent() {
            return window.<portlet:namespace />editor.getHTML();
        }
        function <portlet:namespace />saveEntry() {
            document.<portlet:namespace />content_fm.action = '<%=saveOrUpdateContentUrl%>';
            document.<portlet:namespace />content_fm.<portlet:namespace />content.value = <portlet:namespace />getContent();
            alert(<portlet:namespace />getContent());
            submitForm(document.<portlet:namespace />content_fm);
        }
    </script>

以上代码在Liferay 6.2中正常运行。您应该使用合金脚本或javascript获取CKEditor内容,并在隐藏参数中设置以存储值。