0

我正在尝试将CLEditor合并到我的一个应用程序中。但在某个地方,这是一个导致一些渲染问题的断开连接。

前端使用 jQuery/HTML/CSS 后端使用 Java/Oracle/Spring/Struts 2,我不太确定问题出在哪里。我认为这是 CLEditor 不知何故感到困惑。

我的代码如下所示。

<textarea id="editor" name="contractTemplate.contractBody" value="${contractTemplate.contractBody}"></textarea>

在页面的下方,我有 CLEditor 设置如下:

<script type="text/javascript">
  $(function() {

    $('#editor').cleditor({
      width: 'auto',
      height: 300,
      controls: "font bold italic | " +
              "bullets numbering | " +
              "alignleft center alignright justify | " +
              "outdent indent | " +
              "undo redo " +
              "rule | cut copy paste pastetext | print source",
      fonts: // font names in the font popup
              "Arial,Arial Black,Courier New,Narrow,Garamond," +
              "Georgia,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
      bodyStyle: "margin:4px; font: 10pt Arial, Verdana; cursor:text",
      docType: '<!DOCTYPE html>'
    });


  });
</script>

当我第一次加载页面时,它上面的textarea内容显示得很好。我可以使用左对齐,右对齐,居中来格式化我希望的东西。我能够创建正确的外观ulol(我需要的大部分功能)。我还可以使用Show Source提供的代码查看代码。我提交给我,它按预期Action保存了我发送的格式化文本。CLOB但是,当我重新访问要编辑的页面(我的一个用例)时,以前格式化的文本已损坏...通常,如果我将某些文本右对齐,它会从其中剥离标签,强制左对齐并将 a">添加到textarea. 你可以想象从那里引入的混乱。如果您没有抓住">并保存它,则会删除所有文本">幸存和随后的保存将使您"&gt;保存到数据库中。

这个问题可能来自哪里?到目前为止,我一直找不到任何有类似问题的人。

在此先感谢您的帮助!

编辑:

也许这个问题与 CLEditor 无关......我只是快速安装了TinyMCE :

<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
        tinymce.init({selector:'textarea'});
</script>

我得到同样的行为......

编辑:

进一步的调查表明,沿线某处没有正确逃脱。

这是来自Inspect Element功能:

<textarea aria-hidden="true" style="display: none;" id="editor" name="contractTemplate.contractBody" value="<p style=" text-align:="" right;"="">Right Align&lt;/p&gt;
&lt;p style="text-align: center;"&gt;Center&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Left Align&lt;/p&gt;"&gt;</textarea>

正如您所看到的,value="<p style"最终关闭了报价并且没有正确地逃避事情。页面越往下< and >&gt; and &lt; 我看到了问题,但不知道如何解决。

4

1 回答 1

0

希望有人会从我缺乏关注中受益……两位编辑都没有错。上面描述的问题是我没有注意我在做什么。而不是删除问题,我将留下它,以便希望有人会搜索并查看我在解决他们的问题时做错了什么......

使用时textarea不要<textarea value="some value"></textarea> 使用<textarea>some value</textarea>

于 2013-11-12T17:42:33.003 回答