如何在javascript变量中获取Liferay输入编辑器的值

时间:2015-09-13 03:20:48

标签: liferay

在我的应用程序中,我正在使用liferay-ui:input-editor。我想将输入编辑器的值转换为javascript变量,如何实现?我试过了

<liferay-ui:input-editor />

<input name="<portlet:namespace />htmlCodeFromEditorPlacedHere" type="hidden" value="" />


function createPopUp(){

var url ="<%=fetchCandidateByIdForPhoneURL%>";
var type= "fetchCandidateInfo";
var candidateId = $('#candidateID').val();
var jobId = $('#JobList').val();
var text1 = $('#text1').val();
var text2 = $('#text2').val();
var text3 = $('#text3').val();
var interviewVenue = $('#interviewVenue').val();
var interviewCC = $('#interviewCC').val();
var interviewBCC =$('#interviewBCC').val();
var startDate = $('#start-date').val();
var interviewType = $('#interviewType').val(); 

var x ;


function <portlet:namespace />initEditor() {
    return '<font style="font-weight: bold">scott was here</font>';
}

function <portlet:namespace />extractCodeFromEditor() {
    var x = document.<portlet:namespace />fm.<portlet:namespace />htmlCodeFromEditorPlacedHere.value = window.<portlet:namespace />editor.getHTML();

    alert(x);
}

但它表明了这一点        ReferenceError:_InterviewSchedule_WAR_InterviewScheduleportlet_initEditor未定义错误。如何解决它并获取javascript变量中的值

2 个答案:

答案 0 :(得分:1)

鉴于所提供的信息,似乎<liferay-ui:input-editor />缺少javascript初始化函数。正如教程here中指出的那样,OP似乎正在使用(按变量名称命名):

  

默认情况下,编辑器会调用&#34; initEditor()&#34;尝试预先填充编辑器的主体。在这个例子中,当编辑器加载时,它的值为&#34; scott在这里&#34;用粗体。

     

(...)

        function <portlet:namespace />initEditor() {
            return '<font style="font-weight: bold">scott was here</font>';
        }

答案 1 :(得分:0)

默认情况下,Liferay使用的ck编辑器会尝试调用initEditor()javascript方法来尝试预先填充编辑器的内容。 因此,即使返回空字符串,也应该定义这样的方法。

下面给出一个例子:

<aui:script>
    function <portlet:namespace />initEditor() {
        return "<%= content %>";
    }
</aui:script>

,其中content是字符串变量,其中包含您在加载编辑器时要传入的内容。如果您不想传递初始内容,则只需传递黑色字符串。