Редактор Ace (форма) - Могу ли я сохранить разрывы строк / текстовый формат?

Работаю над проектом для моей школы по созданию приложения MVC Sinatra. Я хочу создать веб-приложение, которое может сохранять и отображать фрагменты / алгоритмы с помощью редактора ace.

Я понял, как (по-видимому) захватить ввод формы через редактор ace, скрыв поле ввода и присвоив значение из ace при изменении с помощью фрагмента ниже.

//CAPTURE/SET VALUE
var textarea = $('input[name = "content"]');
editor.getSession().on("change", function () {
    textarea.val(editor.getSession().getValue());
});

моя форма выглядит так

<!--ACE EDITOR-->
<div id = "editor"></div>
To open settings panel, inside editor - CTRL+Q (Windows) | CMD+Q (Mac)
<!--------------------------------------------------------->

<!--FORM-->
<form action = "/ace" method = "POST"> 

  <!--normal-->
  <input type = "text" name = "content" style = "display: none;" />

  <!--submit-->
  <input type = "submit" value = "Save">
</form>

Я могу зафиксировать параметры в порядке, но проблема в том, что они не сохраняют разрывы строк, поэтому ввод ...

def something

end

в редактор ace и нажав "Отправить", я вернусь

"def something  end"

когда я хотел бы теоретически получить что-то вроде

"def something\n\nend"

или что-то в этом роде .. вы уловили дрейф

Мне нужно каким-то образом использовать редактор для захвата ввода, а при отправке назначить его атрибуту объекта, так что псевдо

snippet = Snippet.new(:content => params[:content])

затем иметь возможность перезвонить и отобразить в редакторе в правильном формате

snippet.content (preserves linebreaks) 

Полный код и изображения ЗДЕСЬ, если вам больше нравится визуальные эффекты. Любая помощь будет принята с благодарностью, и если я что-то упускаю, пожалуйста, дайте мне знать ... надеюсь, я предоставил достаточно информации и подробно изложил ее.

Я думаю, что получение значения из сеанса также обеспечивает \ n (новый разрыв строки) ... просто разделите на \ n и проверьте, получили ли вы что-то или нет.

Agnibha 30.03.2018 04:19

вы можете показать мне пример того, что вы имеете в виду? если это то, что я думаю, вы имеете в виду, я уже пробовал это и получил обратно этот i.imgur.com/tgIYXOg.png

Daniel Nunez 30.03.2018 04:23

Я также пробовал textarea.val(editor.getSession().getValue().split("\n").join‌​("\n")); в js, прежде чем устанавливать значение ввода, оно работает в консоли браузера, но при отправке на ввод все еще возвращается без перерывов

Daniel Nunez 30.03.2018 04:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
1 102
1

Ответы 1

input не принимает символы новой строки, вместо этого вам нужно использовать textarea.

Привет, извините за поздний ответ .. Я попытался использовать textarea, но затем я сделал редактор ace, который больше не отображается. Я нашел обходной путь, я добавлю ответ, когда у меня будет возможность, но вот мое репо, если вы хотите взглянуть на то, что я сделал, и / или проверить, что происходит при изменении ввода в репозиторий textarea: github.com/AlphaDaniel/snalgos

Daniel Nunez 31.03.2018 02:57

Другие вопросы по теме