1

仕事用に作成した簡単な Web ページがあります。テキスト領域にテキストを入力する複数のボタンがあります。すべての入力を新しい行で開始したいと思います。考えられるすべての場所に /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を渡します。textarea<textarea id="textarea" name="textarea" cols="100" rows="15">

于 2012-08-12T08:32:49.597 に答える
0

1) textarea の値を設定するためにinnerHTMLプロパティを使用する必要はありませんが、そのvalueプロパティを使用します。

2) より良い方法は、 "#"値を持つhref属性を使用し、 onclick set イベント ハンドラーでfalseを返すことです。

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 に答える