2009-10-29 112 views

回答

167

像這樣:

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

或像這樣的jQuery:

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

如果你有

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

對於所有的downvoters和非信徒:

+1

Textara沒有價值的財產! – 2009-10-29 09:14:02

+0

沒有想到價值會起作用,因爲沒有。價值=在其中,但謝謝! – ian 2009-10-29 09:14:50

+14

@Petr Peller是的它確實... – Greg 2009-10-29 09:16:11

13

如果您可以使用jQuery,我強烈建議你這樣做,你會簡單地做

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

否則,它是依賴於瀏覽器。假設你有

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

在大多數瀏覽器你做

myTextArea.innerHTML = ''; 

但在Firefox,你做

myTextArea.innerText = ''; 

決定什麼樣的瀏覽器用戶使用的是被留下作爲一個練習讀者。除非你使用jQuery,當然;)

編輯:我收回。看起來好像對textarea的.innerHTML的支持有所改進。我在Chrome,Firefox和Internet Explorer中進行了測試,他們都正確地清除了textarea。

編輯2:我剛剛檢查過,如果您在jQuery中使用.val(''),它只會爲textarea設置.value屬性。所以.value應該沒問題。

+2

.value ='';在Chrome FF和Safari中工作... .innerHTML在Chrome中不起作用,未在其他人測試。 – ian 2009-10-29 09:23:21

+0

您不應該爲textareas使用innerHTML和innerText。應該使用值屬性。所以,$('#myTextArea')。val('')或document.getElementById('myTextArea')。value =''是最好的選擇 – Parth 2017-02-02 08:45:19

7

雖然許多正確的答案已經給出,古典(讀非DOM)的方法是這樣的:

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

凡在HTML的textarea的是在這樣的形式某處嵌套:

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

碰巧,這也適用於Netscape Navigator 4和Internet Explorer 3。而且,不是不重要的,移動設備上的Internet Explorer。

0

把文本區域的形式,給它們命名,只是使用DOM對象很容易,就像這樣:

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