2

textare から電子メール テンプレートを作成しようとしています。これは、div に表示したり、mailto で送信したりできます。ここにjsFiddleがあります。

HTML は非常に単純です。

<textarea id="TheTextInput" rows="5"></textarea>
<input type="button" id="TheButton" value="click" />
<div id="TheOutput"></div>

私が現在試しているJavaScriptは次のようになります。

$(document).ready(function () {
    $('#TheButton').click(PutTextIntoDiv);
});

function PutTextIntoDiv() {
    var TheText = encodeURIComponent($('#TheTextInput').val());
    $('#TheOutput').text(TheText);
}

今のところの出力は次のとおりです。

ここに画像の説明を入力

ご覧のとおり、改行が保持されていないため、エンコードとデコードが機能していません。何を変更する必要がありますか?

4

1 に答える 1

4

さて、文字列をデコードする必要があると思いますdecodeURIComponent()

function PutTextIntoDiv() {
    var TheText = encodeURIComponent($('#TheTextInput').val());
    $('#TheOutput').text(decodeURIComponent(TheText));
}

<div>HTMLで次のように置き換え<pre>ます。

<pre id="TheOutput"></pre>

<br>明示的なタグ(または何でも)が必要な場合の別のオプション:

var brText = TheText.replace(/%0A/g,"<br/>");
于 2013-05-09T01:21:16.283 に答える