2

ユーザーが営業担当者にレビューを書く xpage ドキュメントからオンザフライで作成する HTML 電子メールを作成できる、いくつかの優れた JavaScript コード (xpHTMLMail ファイル) を見つけました。ただし、そこには複数行の編集ボックスがいくつかあり、それらには改行、スペースなどが含まれています。これらは、HTML に追加されたときに表示されません。作成された電子メールのフォーマットを維持するためにできることはありますか? 前もって感謝します。

私の質問のこの部分を扱うコードは次のとおりです(inputClosingは複数行の編集ボックスです):

mail.addHTML("<br /><br /><b>Closing</b><br />"+getComponent('inputClosing').getValue())

inputClosing の場合...

「親愛なるジョー、

すごい仕事。がんばり続ける!

ありがとう、ビル」

それは次のようにメールに届きます...

親愛なるジョー、素晴らしい仕事。がんばり続ける!ありがとう、ビル

4

2 に答える 2

2

私はそのライブラリを書いたので、ありがとう!

HTML メールを作成しているため、複数行編集ボックスの値の改行を<br />タグに置き換える必要があります。XPages で Java を扱っているため、改行は\r\nシーケンスを使用して値に格納されます。

replaceAll()または (SSJS) @ReplaceSubstring()関数を使用してそれらを置き換えることができます。

コードは次のようになります。

var content:string = getComponent("inputClosing").getValue();   
mail.addHTML("<b>Closing</b><br />" + content.replaceAll("\r\n", "<br />") );
于 2012-08-15T20:15:32.983 に答える
0

<pre></pre>マークの提案は間違いなく機能しますが、テキスト フィールドをラップするだけで、どのような書式設定文字が含まれていても、html ではなくテキストとして処理する方が簡単な場合があります。

于 2012-08-15T20:49:42.953 に答える