Невозможно вставить разрыв строки с помощью \ n - PullRequest
0 голосов
/ 30 ноября 2018

В приведенном ниже упрощенном примере строка «quis» заменяется тем, что пользователь вводит в поле ввода.Я хотел бы иметь возможность вставлять также разрывы строк из поля ввода.

Так что, если пользователь вводит что-то вроде "blabla \ nbla", результат должен быть

"blabla

bla "

Я не хочу использовать HTML-теги, такие как

function replace_with(e) {
  var replacement = document.getElementById('replaceWith').value;
  var text = document.getElementById('val');
  var reg = new RegExp("quis", "g");
  text.innerHTML = globalString.replace(reg,replacement);
}

document.getElementById('replaceWith').addEventListener('keyup', replace_with);

var globalString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
#val{
  border: 1px solid grey;
  padding: 5px;
}
.input{
    border: 1px solid grey;
  padding: 5px;
  margin-bottom: 10px;
}
<input type="text" spellcheck="false" class="input" id="replaceWith">
 
<div id="val" contenteditable="true" spellcheck="false">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Экранирование разрывов строк, поскольку \ n работает только внутри текста.Поскольку вы заменяете содержимое HTML-тега, вы должны использовать один <br>, если текст должен перейти на следующую строку, или два раза <br><br>, чтобы оставить пустую строку между двумя.

0 голосов
/ 30 ноября 2018

положить <br> в innerHTML вместо \n, чтобы получить разрыв строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...