将文本插入textarea

时间:2015-11-09 18:35:39

标签: javascript

如何在页面加载中将文本插入此文本区域:

<textarea name="orderNotes" cols="115" rows="3"></textarea>

我试过了:

var myTextarea = document.getElementsByClassName('orderNotes');
console.log(myTextarea);
myTextarea.value += "text to add to the textarea";

HTML:

<textarea name="orderNotes" cols="115" rows="3"></textarea>

5 个答案:

答案 0 :(得分:2)

您根本没有给<textarea>任何课程,因此除非您这样做,否则.getElementsByClassName()将无效:

<textarea name="orderNotes" class="orderNotes">

一旦你这样做,你就必须处理.getElementsByClassName()返回列表元素的事实,而不仅仅是一个元素。

var myTextarea = document.getElementsByClassName('orderNotes')[0];

将您的变量设置为找到的第一个变量。如果您想唯一地标识<textarea>,可以给它一个id:

<textarea name="orderNotes" id="orderNotes">

然后使用只返回一个元素(或没有)的.getElementById()

var myTextarea = document.getElementById("orderNotes");

答案 1 :(得分:1)

您尝试按类名选择,这需要使用class html属性。您可以在此处使用querySelector来获取属性名称。

var myTextarea = document.querySelector("textarea[name='orderNotes']");

答案 2 :(得分:1)

如果您访问[0]返回的数组的getElementsByTagName()元素并在标记中添加class属性,则您的js代码应该有效。

var myTextarea = document.getElementsByClassName('orderNotes')[0];
myTextarea.value += "text to add to the textarea";

<textarea name="orderNotes" class="orderNotes" cols="115" rows="3"></textarea>

但更安全的方法是设置id属性并使用getElementById()代替getElementsByClassName()访问它。

var myTextarea = document.getElementById('orderNotes');
myTextarea.value += "text to add to the textarea";

<textarea name="orderNotes" id="orderNotes" cols="115" rows="3"></textarea>

答案 3 :(得分:1)

使用Javascript的基本示例:

var textArea = document.myform.inputtext.value;
textArea += "your text";
document.myform.inputtext.value = textArea;
<form name="myform">
<textarea name="inputtext"></textarea>
</form>

答案 4 :(得分:0)

document.getElementByClassName返回项目数组,因为更多对象可以共享该类。所以你应该通过索引访问它(myTextarea [0] .value - 你知道它是这个类的唯一元素)或者更好地使用id并使用document.getElementById访问它(&#39; id&#39 ):

javascript:

var myTextarea = document.getElementsById('orderNotes');
consol.log(myTextarea);
myTextarea.value += "text to add to the textarea";

HTML:

<textarea id="orderNotes" cols="115" rows="3"></textarea>