textContent изменяет содержимое текстового поля только один раз

По нажатию кнопок должно изменяться содержимое текстового поля (в него вставляется шаблон, с которым пользователь дальше работает). Когда пользователь внёс в шаблон свои данные и кликает за пределы текстового поля, итоговый текст выводится в виде абзаца в соответствующую часть окна. Однократно всё это срабатывает как надо. Но при внесении любых изменений в шаблон функция почему-то перестает срабатывать: при нажатии на кнопки в текстовом поле (и в итоговом абзаце) остается измененный шаблон, вызванный последней кнопкой. Сообщение об ошибке в консоли не появляется.

Не могу понять, в чем прикол. Пробовал менять .textContent на .innerText - результат тот же :(

function anamnesisHealthy(){
  document.getElementById("anamnesisMorbiTextArea").textContent = 'За последнее время...';
}
function anamnesisAcuteTonsillitis(){
  document.getElementById("anamnesisMorbiTextArea").textContent = 'Заболел остро...';
}
// пересылка текста из текстового поля в нужный столбец
const AnamnesPattern = document.getElementById('anamnesisMorbiTextArea');
AnamnesPattern.addEventListener('change', function (event) {
  document.getElementById('AnamnesisMorbiIs').textContent = AnamnesPattern.value;
})
<button onclick="anamnesisHealthy()">шаблон 1</button>
<button onclick="anamnesisAcuteTonsillitis()">Шаблон 2</button>
<textarea id="anamnesisMorbiTextArea" placeholder="***"></textarea>
<p id="AnamnesisMorbiIs"></p>


Ответы (1 шт):

Автор решения: thisSasha

Дело в том, что input - одиночный тег, а innerText и textContent записываются внутрь <>Тега<>.

Используйте value. Вот документация.

Вот исправленное решение:

function anamnesisHealthy(){
  document.getElementById("anamnesisMorbiTextArea").value = 'За последнее время...';
}
function anamnesisAcuteTonsillitis(){
  document.getElementById("anamnesisMorbiTextArea").value = 'Заболел остро...';
}
// пересылка текста из текстового поля в нужный столбец
const AnamnesPattern = document.getElementById('anamnesisMorbiTextArea');
AnamnesPattern.addEventListener('change', function (event) {
  document.getElementById('AnamnesisMorbiIs').textContent = AnamnesPattern.value;
})
<button onclick="anamnesisHealthy()">шаблон 1</button>
<button onclick="anamnesisAcuteTonsillitis()">Шаблон 2</button>
<textarea id="anamnesisMorbiTextArea" placeholder="***"></textarea>
<p id="AnamnesisMorbiIs"></p>

→ Ссылка