在textarea中更改/附加值

时间:2015-09-18 06:58:10

标签: javascript html forms input textarea

我正在尝试将值从下拉列表传递到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而不是使用输入字段

1 个答案:

答案 0 :(得分:1)

您应该使用innerHTML属性而不是value属性。 您应该在代码中放入日志以对其进行调试,并在Developers Console中查看这些消息。

修改

JS代码的变化:

:help 'errorformat'

这是工作plunkr