Как изменить содержимое <textarea> с помощью Javascript

javascript

251865 просмотра

5 ответа

Как бы я изменил содержимое <textarea>элемента с помощью JavaScript?

Я хочу сделать это пустым.

Автор: ian Источник Размещён: 12.11.2019 09:51

Ответы (5)


218 плюса

Решение

Нравится:

document.getElementById('myTextarea').value = '';

или как это в jQuery:

$('#myTextarea').val('');

Где у вас есть

<textarea id="myTextarea" name="something">This text gets removed</textarea>

Для всех даунвотеров и неверующих:

  • Вот ссылка на MSDN

    Значение свойства: извлекает или задает текст в поле ввода элемента textArea.

  • Вот ссылка на MDN

    value DOMString Необработанное значение, содержащееся в элементе управления.

Автор: Greg Размещён: 29.10.2009 09:12

14 плюса

Если вы можете использовать JQuery, и я настоятельно рекомендую вам сделать, вы бы просто сделать

$('#myTextArea').val('');

В противном случае, это зависит от браузера. Если у вас есть

var myTextArea = document.getElementById('myTextArea');

В большинстве браузеров вы делаете

myTextArea.innerHTML = '';

Но в Firefox вы делаете

myTextArea.innerText = '';

Выяснение того, какой браузер использует пользователь, оставлено в качестве упражнения для читателя. Если, конечно, вы не используете jQuery;)

Редактировать : я забираю это обратно. Похоже, поддержка .innerHTML на textarea улучшилась. Я тестировал в Chrome, Firefox и Internet Explorer, все они корректно очищали текстовую область.

Редактировать 2 : И я только что проверил, если вы используете .val ('') в jQuery, он просто устанавливает свойство .value для textarea. Так что .value должно быть в порядке.

Автор: Aistina Размещён: 29.10.2009 09:17

8 плюса

Хотя многие правильные ответы уже были даны, классический (читай не DOM) подход будет выглядеть так:

document.forms['yourform']['yourtextarea'].value = 'yourvalue';

где в HTML ваша текстовая область вложена где-то в такой форме:

<form name="yourform">
    <textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>

И как это бывает, это будет работать с Netscape Navigator 4 и Internet Explorer 3 тоже. И, что немаловажно, Internet Explorer на мобильных устройствах.

Автор: Paul Размещён: 29.10.2009 09:31

2 плюса

Если это Jquery ..

$("#myText").val(''); 

или же

document.getElementById('myText').value = '';

http://www.hscripts.com/tutorials/javascript/dom/textarea-events.php

Автор: TigerTiger Размещён: 29.10.2009 09:11

2 плюса

поместите текстовое поле в форму, назвав его, и просто используйте объекты dom, например:

<body onload="form1.box.value = 'Welcome!'">
  <form name="form1">
    <textarea name="box"></textarea>
  </form>
</body>
Автор: Shrdi Размещён: 26.04.2017 01:08
Вопросы из категории :
32x32