【发布时间】:2015-09-18 06:58:10
【问题描述】:
我正在尝试将下拉列表中的值传递到文本区域。
无效的代码是:
<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 而不是使用输入字段
【问题讨论】:
-
感谢 Arun,但我发现这也不起作用。下拉列表中的值应“保留”在文本区域上。我正在尝试创建这个 - jsfiddle.net/sumitcbrty/7zqn6j3u 但只用 textarea 替换输入。
标签: javascript html forms input textarea