Создание простого текстового редактора с Ruby on Rails, как мне поместить текст, который я хочу отредактировать, в iframe?

#javascript #ruby-on-rails #iframe #wysiwyg

#javascript #ruby-on-rails #iframe #wysiwyg

Вопрос:

Следуя приведенному здесь примеру: http://www.quirksmode.org/dom/execCommand /

Я обнаружил, что мне нужен iframe для содержимого, которое я действительно хочу редактировать.

Итак, вот как я создаю свой «редактор»: на моей главной странице:

 <%= text_area_tag :selected_text, :style => "display: none" %>
<%= text_area_tag :suggested_text, :label=>false, :resizable => false, :style => "display: none"%>
<%= render :partial => "/shared/simple_editor", :locals => {:text_box => "suggested_text", :initial_text => "selected_text" }%>
  

И затем в этой части у меня есть javascript из приведенной выше ссылки и этот код:

 <div class="simple_editor">
    <input type="button" value="Bold" id="bold">
    <input type="button" value="Italic" id="italic">
    <input type="button" value="Underline" id="underline">

    <div class="input_container">   
iframe stuff goes here
    </div>
</div>
  

Как вы можете видеть, я не продвинулся далеко.

Теперь, когда форма загружается, я заполняю поля с помощью javascript (эта часть работает). Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как выполнить фактическое редактирование с помощью iframe.

Я знаю, что мне нужно установить contentEditable, но это все.

Ответ №1:

Я не могу сказать, является ли создание собственного редактора WYSIWYG целью вашего проекта или просто чем-то, что вам нужно в вашем проекте. Я бы посоветовал вам проверить существующие параметры, такие как http://ckeditor.com / в любом случае. Вы можете узнать, как они выполняют различные команды, и поработать над созданием собственного редактора, или вы можете просто добавить его в свое приложение, если вам просто нужен редактор и вам не хочется тратить время на его создание.

Комментарии:

1. нет, все, что мне нужно, это жирный / курсив / подчеркивание, мне не нужно всего этого =

2. Хорошо, я понимаю, что вы имеете в виду. Вы все еще можете видеть, какова их базовая реализация.