2009-10-29 4 views

ответ

167

Как это:

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

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

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

Где у вас есть

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

Для всех downvoters и неверующими:

  • Here's the MSDN reference

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

  • Here's the MDN reference

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

+1

Textara не имеет ценности! –

+0

Не думал, что значение будет работать, потому что нет. значение = в нем, но спасибо! – ian

+14

@Petr Peller да, это так ... – Greg

13

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

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

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

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

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

myTextArea.innerHTML = ''; 

Но в Firefox, вы

myTextArea.innerText = ''; 

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

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

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

+2

.value = ''; работает в Chrome FF и Safari ... .innerHTML не работает в Chrome, не тестировался в других. – ian

+0

Вы не должны использовать innerHTML и innerText для текстовых областей. Следует использовать атрибут value. Итак, $ ('# myTextArea'). Val ('') или document.getElementById ('myTextArea'). Value = '' - лучший вариант – Parth

7

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

0

положить текстовое поле в форме, называя их, и просто использовать дом объекты легко, как это:

<body onload="form1.box.value = 'Welcome!'"> 
    <form name="form1"> 
    <textarea name="box"></textarea> 
    </form> 
</body> 
Смежные вопросы