如何删除富文本区域字段中的HTML标记?

时间:2017-08-08 11:04:29

标签: javascript html salesforce

我正在使用富文本字段,在输入一些数据后,它以HTML字体显示,我也尝试了Escape : False,但它无效。这是我的代码:

function GetDescription()
{
    try
    {
        var assetId = '{!JSENCODE(objAsset.Id)}';
        Visualforce.remoting.Manager.invokeAction(
            '{!$RemoteAction.RemoterAssetDetailView.GetDescription}',
            assetId ,
            function(result, event) {
                if(event.status)
                {
                    var jobjAsset = JSON.parse(result);
                    var strDescription = '';
                    for(var i=0;i<jobjAsset.length;i++)
                    {
                        strDescription +=html_encode(jobjAsset[i][NameSpacePrefix + "DescriptionText__c"]);
                    }
                    j$("#divSpecification").html(strDescription);
                }
                else
                {
                }
            },
            {
                escape: false
            }
        );
    }
    catch(e)
    {
        //alert(e);
    }

1 个答案:

答案 0 :(得分:0)

问题的一个可能答案是由@bjornd创建的这个非常简单的函数,该函数可用right here。 函数处理基本的HTML特殊字符,应该解决你的问题。

编辑escape函数已弃用,正如下面提到的@Zeke。这不再是正确的方法。

如果要从字符串中转义特殊字符,则应使用Javascript中的escape函数。此函数基本上将任何特殊字符(如<>)转换为十六进制转义序列。

escape('äöü');        // "%E4%F6%FC"

在您的情况下,将html_encode(jobjAsset[i][NameSpacePrefix + "DescriptionText__c"])替换为escape(jobjAsset[i][NameSpacePrefix + "DescriptionText__c"])

以下是有关此escape功能的Mozilla团队文档的a link