【问题标题】:Trying to Display Content of CK Editor on Same View in a Different DIV尝试在不同 DIV 中的同一视图上显示 CK 编辑器的内容
【发布时间】:2015-12-02 18:57:23
【问题描述】:

我使用在线资源创建了以下 CK 编辑器

<div class="section">
  <div class="container">

    <h2>CK EDITOR CONSOLE</h2>

    @Html.TextArea("Explanation")

    <script type="text/javascript" src="@Url.Content("~/ckfinder/ckfinder.js")"></script>
    <script type="text/javascript" src="@Url.Content("~/ckeditor/ckeditor.js")"></script>

    <script type="text/javascript">
      var editor = CKEDITOR.instances['editor1'];
      if (editor) { editor.destroy(true); }
      CKEDITOR.replace('Explanation', {
        enterMode: CKEDITOR.ENTER_BR,
      });
      CKFinder.setupCKEditor(null, '@Url.Content("~/ckfinder/")');
    </script>

    <form method="post" action="">
        @Html.TextAreaFor(x => x.Text, new { id = "Explanation" })
        <p><input type="submit" value="Submit" /></p>
    </form>
  </div>

</div>

现在我想将我输入的内容(文本/图像)显示在同一视图上的单独区域中单击提交按钮。

有人可以帮忙吗?

【问题讨论】:

  • 您的意思是您想要对您输入的所有内容进行某种预览?为什么要提交?,您可以使用 jquery 将 html 传递给某个 div 而无需提交到服务器...
  • 是的,如何从我的 CKEditor 将该 html 传递给某个 div

标签: c# asp.net-mvc ckeditor textarea views


【解决方案1】:

在预览所在的位置添加一个空 div:

<div id="explanation-preview"></div>

添加一个按钮生成预览,即不提交表单,例如:

<button type="button" id="preview">Click me to preview!</button>

在 jquery 中,声明您的 ckeditor 后,捕获按钮单击并将内容从编辑器传递到 div:

<script type="text/javascript">
    var editor = CKEDITOR.instances['editor1'];

    // ...

    $('#preview').on('click', function() {
        $('#explanation-preview').html(editor.getData());
    });
</script>

【讨论】:

  • 似乎什么都没有发生 Zed.... 该按钮甚至没有在调试时宣布
  • 您在浏览器控制台中看到任何错误吗? (F12)。另外,您是否包含jquery?如果在#preview 按钮单击处理程序中添加console.log('test');,单击它时是否会在浏览器控制台打印?
  • Zed,不幸的是我是一个初学者,我没有关注,我所做的是将你给我的代码放在我调用 ckeditor 的
  • 我也尝试调试解决方案,并在预览按钮的单击功能脚本上放置了一个调试点,但它甚至没有被切换......
猜你喜欢
  • 2021-12-01
  • 2016-01-30
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多