#javascript #html
Вопрос:
Допустим, у меня есть элемент <textarea> в моем HTML, и у меня есть кнопка «Отправить». Когда вы нажимаете кнопку «Отправить», на экране должен появиться текст в элементе <textarea>. Я попытался поместить этот код JavaScript в раздел «Моя голова»:
<script>
function displayText(element, change_to) {
document.getElementById(element).innerHTML = document.getElementById(change_to).innerHTML
}
</script>
А это секция кузова:
<body>
<p id="msg"></p>
<textarea id="enterMsg"></textarea>
<button id="sendButton" onclick="displayText('msg', 'enterMsg')">Send</button>
</body>
Но это не сработало.
Комментарии:
1. Вы довольно близки, но чтобы получить значение текстовой области, вам нужно использовать
.value
вместо.innerHTML
.2. Или, в большинстве (современных) браузеров,
textContent
аinnerText
также работают.
Ответ №1:
Вы должны использовать value
свойство для элемента textarea. Я также предложу вам использовать innerText
или textContent
, если значение является обычным текстом (не HtmlString):
<script>
function displayText(element, change_to) {
document.getElementById(element).textContent = document.getElementById(change_to).value
}
</script>
<body>
<p id="msg"></p>
<textarea id="enterMsg"></textarea>
<button id="sendButton" onclick="displayText('msg', 'enterMsg')">Send</button>
</body>
Комментарии:
1. О, значит, у textarea нет innerHTML или textContent, но есть значение. Спасибо!
2. @DavidBagel, да, именно так:)
3. Существуют ли другие элементы, которые используют значение вместо textContent или innerHTML?
4. @DavidBagel, обычно все входные элементы имеют свойство value, все остальные элементы имеют textContent. Внутренний текст и внутренний текст:)
Ответ №2:
в текстовой области нет внутреннего языка, вместо этого следует использовать .value
Комментарии:
1. У него есть
innerHTML
, но это не тот контент, который вы вводите. ЭтоinnerHTML
часть между открытым и закрывающим тегом.