我正在尝试将值从下拉列表传递到textarea。
非工作代码是:
<form name="f">
<textarea id="change" name="change"></textarea>
<br/>
<input id="docname" name="docname" type="text" list="docs" />
<datalist id="docs">
<option value="data1">
<option value="data2">
<option value="data3">
<option value="data4">
<option value="data5">
<option value="dta6">
</datalist>
</form>
<script type="text/javascript">
document.forms['f'].elements['docname'].onchange = function(){
document.getElementById("change").value += this.value + ', ';
document.forms['f'].elements['docname'].value = '';
};
</script>
但是,如果我使用Input
代替Textarea
,则代码可以正常运行。
工作代码:
<form name="f">
<input id="change" name="change" value="">
<input id="docname" name="docname" type="text" list="docs" />
<datalist id="docs">
<option value="data1">
<option value="data2">
<option value="data3">
<option value="data4">
<option value="data5">
<option value="dta6">
</datalist>
</form>
<script type="text/javascript">
document.forms['f'].elements['docname'].onchange = function(){
document.getElementById("change").value += this.value + ', ';
document.forms['f'].elements['docname'].value = '';
};
</script>
如何使用Textarea
代替Input
并使代码正常工作。我需要使用textarea
,因为我需要多行文字。
PS:我正在尝试创建此http://jsfiddle.net/sumitcbrty/7zqn6j3u/2/但只想要textarea而不是使用输入字段
答案 0 :(得分:1)
您应该使用innerHTML属性而不是value属性。 您应该在代码中放入日志以对其进行调试,并在Developers Console中查看这些消息。
修改强>
JS代码的变化:
:help 'errorformat'
这是工作plunkr