Hur man ändrar innehållet i en <textarea> med JavaScript


Hur skulle jag ändra innehållet i ett <textarea>-element med JavaScript?

Jag vill göra det tomt.

Svar #1

Så här:

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

eller så här i jQuery:

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

Var du har

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

Till alla som röstar ner och inte tror:

  • Här är MSDN-referensen

    value-egenskap: Hämtar eller anger texten i inmatningsfältet för textArea-elementet.

  • Här är MDN-referensen

    value DOMString Det råa värdet som finns i kontrollen.

Svar #2

Om du kan använda jQuery, och jag rekommenderar starkt att du gör det, skulle du helt enkelt göra

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

Annars beror det på webbläsaren. Förutsatt att du har

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

I de flesta webbläsare gör du

myTextArea.innerHTML = '';

Men i Firefox gör du det

myTextArea.innerText = '';

Att ta reda på vilken webbläsare användaren använder lämnas som en övning för läsaren. Om du inte använder jQuery, förstås ;)

Redigera: Jag tar tillbaka det. Det verkar som om stödet för .innerHTML på textarea's har förbättrats. Jag testade i Chrome, Firefox och Internet Explorer, alla rensade textarea korrekt.

Redigera 2: Och jag kollade precis, om du använder .val('') i jQuery, så sätter det bara .value-egenskapen för textarea. Så .value borde vara okej.

Svar #3

Även om många korrekta svar redan har givits, skulle det klassiska (läs icke-DOM) tillvägagångssättet vara så här:

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

var i HTML din textarea är inbäddad någonstans i ett formulär som detta:

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

Och som det råkar, skulle det fungera med Netscape Navigator 4 och Internet Explorer 3 också. Och, inte oviktigt, Internet Explorer på mobila enheter.

Relaterade artiklar