我尝试使用 JavaScript 函数从 Dynamics 365 中的富文本字段返回字符串值。这不能以正常方式工作,因为该字段被格式化为富文本,而是返回非常长的文本。
如何从用户输入中提取字符串值?
我尝试了正常的 var str = formContext.getAttribute("描述");它返回一个长文本到我的字符串变量。由于它是富文本,因此无法对其进行切片和切块,而是需要以某种方式进行转换,我猜
如果您只需要 HTML 内容中的文本(保存在富文本字段中的文本),您可以使用以下脚本:
function parseHTML(html) {
let doc = new DOMParser().parseFromString(html, 'text/html');
return doc.body.textContent || "";
}
function test_richtext_OnChange(executionContext) {
var formContext = executionContext.getFormContext();
let richTextValue = formContext.getAttribute("test_richtext").getValue();
let cleanValue = parseHTML(richTextValue);
formContext.getAttribute("test_plaintext").setValue(cleanValue);
}
我还写了一篇关于此问题的小文章并附有屏幕截图:Power Apps 内的富文本到纯文本转换