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

Как мне изменить содержимое элемента <textarea> с JavaScript?

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

Ответ 1

Вот так:

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

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

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

Где у вас

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

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

  • Здесь ссылка MSDN

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

  • Здесь ссылка MDN

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

Ответ 2

Если вы можете использовать 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's. Значит, значение должно быть хорошим.

Ответ 3

Хотя многие правильные ответы уже были даны, классический подход (read non-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 на мобильных устройствах.

Ответ 5

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

<body onload="form1.box.value = 'Welcome!'">
  <form name="form1">
    <textarea name="box"></textarea>
  </form>
</body>