如何获得用户';从WicketStuff';s TinyMCE

如何获得用户';从WicketStuff';s TinyMCE,tinymce,wicket-6,wicketstuff,Tinymce,Wicket 6,Wicketstuff,这个问题很直截了当,但我在任何地方都找不到。我正在使用WicketStuff的TinyMCE在我的应用程序中制作一个富文本编辑器,但却找不到从文本区域获取输入的方法。为了简洁起见,下面是我正在使用的代码的简化版本 private String input; ... TinyMCESettings settings = new TinyMCESettings(TinyMCESettings.Theme.simple); TextArea<String>

这个问题很直截了当,但我在任何地方都找不到。我正在使用WicketStuff的TinyMCE在我的应用程序中制作一个富文本编辑器,但却找不到从文本区域获取输入的方法。为了简洁起见,下面是我正在使用的代码的简化版本

    private String input;
    ...

    TinyMCESettings settings = new TinyMCESettings(TinyMCESettings.Theme.simple);

    TextArea<String> textArea = new TextArea<String>("editor", new PropertyModel<String>(this, "input"));
    textArea.add(new TinyMceBehavior(settings));

    form.add(textArea);
但这导致了在所需位置调用JS并使其正常工作时出现的其他问题。我觉得这无论如何都不必要,因为肯定有人实现了一种方法来获取所使用的文本区域的内容

非常感谢您的帮助。

感谢at Nevermind Solutions,更新模型的方法是在表单的提交按钮中添加以下JavaScript:

onclick="tinyMCE.triggerSave(true,true);"
我的文本区域位于面板内,按钮位于面板外,因此它对我来说并不直接起作用。诀窍是将JavaScript调用添加到按钮的onSubmit中,将逻辑移到onAfterSubmit中,并使按钮成为多部分,以便它可以在执行与模型相关联的其他逻辑之前调用save触发器


希望这可能对将来的其他人有所帮助。

您必须向“提交”按钮添加一个修改器,以便模型可以更新

AjaxButton btnSubmit = new AjaxButton("btnSubmit", new Model()) {
    @Override
    public void onSubmit(AjaxRequestTarget target, Form<?> form) {
        doSomething();
    }
};
btnSubmit.add(new TinyMceAjaxSubmitModifier());
AjaxButton btnSubmit=新的AjaxButton(“btnSubmit”,新型号()){
@凌驾
提交时公共无效(AjaxRequestTarget目标,表单){
doSomething();
}
};
添加(新的TinyMceAjaxSubmitModifier());
查看更多信息

AjaxButton btnSubmit = new AjaxButton("btnSubmit", new Model()) {
    @Override
    public void onSubmit(AjaxRequestTarget target, Form<?> form) {
        doSomething();
    }
};
btnSubmit.add(new TinyMceAjaxSubmitModifier());