1

我有一个为工作目的创建的简单网页。它有多个将文本输入文本区域的按钮。我希望每个输入都从新行开始。我已经尝试在我能想到的每个地方输入 /r /n ,但似乎无法让它工作。似乎无法在任何其他帖子中找到确切的答案。以下是代码的相关部分。

function insertText(val,e){
    document.getElementById(e).innerHTML+=val;
}
<a href="javascript:insertText('Application submitted by applicant - Demande          Presentee par requerant \n','textarea');" onClick="void(0)">[sub by appl]</a>
<a href="javascript:insertText('Application submitted by a third party - Demande presentee par une tierce partie : ','textarea');" onClick="void(0)">[sub by 3rd party]</a>

<form name="textform">
    <font face="Arial, Helvetica, sans-serif" size="2"> 
        <textarea name="textarea" cols="100" rows="15">
        </textarea>
    </font> 
</form>
4

2 回答 2

0

如果您想以这种方式选择文本区域,则将元素 id 传递给getElementById 没有带有 id 的元素,给它一个 idtextarea<textarea id="textarea" name="textarea" cols="100" rows="15">

于 2012-08-12T08:32:49.597 回答
0

1) 你不需要使用innerHTML属性来设置textarea 的值,而是使用它的value属性。

2)更好的做法是使用带有“#”值的href属性,并在返回false的onclick设置事件处理程序中使用。

3) data-*属性非常有用。您可以使用这种方法有效地将任何信息存储在标签中:

<div id="person-27" data-name="Linus" data-surname="Torvalds">Linux creator</div>

...稍后检索此信息,如下面的示例所示。

4) 使用\n插入新行。

所以你的代码看起来像:

<a class="text-btn" href="#"
    data-text="Application submitted by applicant - Demande Presentee par requerant">
    [sub by appl]
</a>

<a class="text-btn" href="#"
    data-text="Application submitted by a third party - Demande presentee par une tierce partie">
    [sub by 3rd party]
</a>

<form name="textform" id="textform">
    <font face="Arial, Helvetica, sans-serif" size="2"> 
        <textarea name="textarea" cols="100" rows="15"></textarea>
    </font> 
</form>

<script type="text/javascript">
    (function() {
        var form = document.getElementById('textform'),
            textarea = form['textarea'],
            anchors = document.getElementsByTagName('a');
        function insertText() {
            textarea.value += this.getAttribute('data-text') + "\n";
            return false;
        }
        for(var i = 0, l = anchors.length; i < l; i++) {
            if(anchors[i].className == 'text-btn') {
                anchors[i].onclick = insertText;
            }
        }
    })();
</script>​

演示

于 2012-08-12T08:48:06.087 回答