【问题标题】:Summernote disappears after ajax updateajax 更新后 Summernote 消失
【发布时间】:2015-05-02 00:11:57
【问题描述】:

我正在以这种方式将 Summernote 与 JSF 一起使用:

<div class="form-group">
                <label>Texto</label>
                <h:inputTextarea value="#{cursoMB.questao.questao.texto}"
                    disabled="#{cursoMB.questao == null}"
                    styleClass="summernote form-control" />
            </div>

我的 JavaScript:

jQuery('.summernote').summernote({
     height: 300,                 // set editor height

      minHeight: null,             // set minimum height of editor
      maxHeight: null,             // set maximum height of editor

      focus: false                 // set focus to editable area after initializing summernote      
});

一切正常,但是当我执行以下commandLink 时,summernote 消失了,变成了一个没有设计的简单inputTextArea

<h:commandLink actionListener="#{cursoMB.inserirQuestao()}"
                styleClass="btn btn-default" title="clique para inserir a questão">
                <f:ajax execute="@this" render="divTeste divQuestao"
                    onevent="function(data) { if (data.status === 'success') { 
    document.getElementById('inputTextOrdemQuestao').focus() } }" />
                <i class="fa fa-plus fa-fw"></i>
            </h:commandLink>

我注意到发生这种情况是因为 ajax 再次呈现我的页面。我该如何解决这个问题?

【问题讨论】:

    标签: jquery ajax jsf summernote


    【解决方案1】:

    这个问题是因为 JavaScript 处理的 HTML 片段被服务器生成的原始 HTML 替换,之后没有再次被 JS 处理。

    你基本上有两个选择:

    1. 不要对 JS 操作的 HTML 片段进行 ajax 更新。只需明确更新真正需要更新的部分,例如只有&lt;h:message&gt; 组件与输入字段相关联。

    2. 或者,如果这不是一个选项,例如因为您需要重新显示提交的值,因为您正在使用一些操作提交值的转换器,所以当那段 HTML 被 ajax 更新时,您需要显式地重新执行该 JS 操作。在您的具体情况下,归结为在 success 事件期间再次调用 jQuery('.summernote').summernote(...)

    另见:

    【讨论】:

    • 对我来说唯一可能的解决方案是数字 2,因为我应该更新这个 textArea,所以数字 1 被丢弃。我会尝试回到这里。
    • 我可以把这个 jQuery 放在哪里?我在 ajax 上找不到成功事件。我该怎么做?
    • @Shelly:呃,所以你没有自己编写问题中的代码?你最好不要在不了解代码的任何一小部分的情况下复制粘贴代码......
    • 对不起,我的错误我已经在 ajax 上实现了“成功”事件。谢谢 BalusC
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 2020-06-20
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多