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.
