網站搜尋

如何使用 JavaScript 變更 <textarea> 的內容


我如何使用 JavaScript 來更改 <textarea> 元素的內容?

我想把它弄空。

答案#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 ;)

編輯:我收回剛剛的話。看起來對 textarea 的 .innerHTML 支援有所改善。我在 Chrome、Firefox 和 Internet Explorer 中測試過,所有瀏覽器都能正確清除 textarea。

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

答案#3

儘管已經有許多正確的答案,但經典(即非 DOM)的方法會是這樣:

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

你的 textarea 在 HTML 中位於某個表單內,例如這樣:

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

而且碰巧的是,這在 Netscape Navigator 4 和 Internet Explorer 3 上也可行。而且,不可忽視的是,行動裝置上的 Internet Explorer 也可以。