У меня есть простая программа форматирования шаблонов, где пользователь вводит определенную информацию, а моя программа выводит персонализированное письмо.
const name = document.getElementById('name')
const food = document.getElementById('food')
const age = document.getElementById('age')
const submitBtton = document.getElementById('submit')
const letter = document.getElementById('letter')
function output(){
letter.textContent =
`Happy Birthday ${name.value}! You're turning ${age.value}
This is a big accomplishment, we must celebrate. Are you free next week for some ${food.value}?`
}
submitBtton.addEventListener('click',output);
<form>
<input type = "text" id = "name" placeholder = "name">
<input type = 'text' id = 'food' placeholder = 'food'>
<input type = 'text' id = 'age' placeholder = 'age'>
<button id = 'submit' type = 'button' >Submit</button>
<button id = 'resetting' type = 'reset'>Reset</button>
</form>
<p id = "letter"></p>
Вышеописанное работает просто отлично, однако, если все остальное остается прежним, но я присваиваю letter.textContent другой переменной, содержащей литерал шаблона:
<script>
const paragraph =
`Happy Birthday ${name.value}! You're turning ${age.value}
This is a big accomplishment, we must celebrate. Are you free next week for some ${food.value}?``
function output() {letter.textContent = paragraph}
submitBtton.addEventListener('click',output)
</script>
программа работает только около 30% времени. Строковый литерал выводит нормально, но переменные - имя, возраст и еда не всегда отображаются? Почему это?