如何在页面加载中将文本插入此文本区域:
<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>
答案 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>