2017-01-27 9 views
0

Javascriptといくつかのdevexpress asp.netコントロールを使用して、ASPxMemo(複数行のテキストフィールド)の内容をプログラムでコピーし、その内容を電子メールの本文として設定します。javascriptを使用してプログラムでブレークラインをクリップボードにコピーするにはどうすればよいですか?

ほとんどの場合、コピー&ペーストが機能しますが、私のASPxMemoに複数の行がある場合は、電子メールの本文に1行として貼り付けられます。たとえば、これはASPxMemoにあった場合:

aaa 
bbb 
ccc 

私は元の形式を保持したいのですが、として、今のようメールの体を貼り付けることになります。アクションが上で発生

aaabbbccc 

ASPxButtonのクリック:

<dx:ASPxButton id="btnClipboardCopy" runat="server"> 
    <Image Url="clipboard.png"></Image> 
    <ClientSideEvents Click="function(s, e) { 
      let subject = 'Submission'; 
      let body = footnote.GetText(); 
      window.open('mailto:[email protected]?subject=' + subject + '&' + 'body=' + body); 
     }" 
    /> 
</dx:ASPxButton> 

どのような考えですか? ありがとう

答えて

1

おそらく電子メールの作成ウィンドウがHTMLモードで開きますので、本文の改行文字を<br>に置き換える必要があります。

body = body.replace(/(?:\r\n|\r|\n)/g, '<br />'); 

注、これは箱から出して動作しない場合は、しているので、あなたが<>をエスケープしてプレイする必要があるかもしれません:あなたは身体のVARのイニシャルの後に、あなたのJSのクリックハンドラに次の行を追加してみてください実際にリンクを構築します。しようとするので、追加の修正:

body = body.replace(/(?:\r\n|\r|\n)/g, '%3Cbr%3E'); 

HTH

関連する問題