【问题标题】:Strip html tags from text before adding it to textarea在将文本添加到 textarea 之前从文本中去除 html 标签
【发布时间】:2012-11-12 14:55:44
【问题描述】:

当用户在我的网站上填写表单时,它会通过 jQuery ajax 发送到服务器,服务器返回类似这样的结果:

<p>Sivustosi päivittyy usein tai silloin tällöin, joten julkaisujärjestelmä on sivustolle välttämätön. 
Sivusto rakennetaan <a href="http://fi.wordpress.org/" target="_blank">WordPress-julkaisujärjestelmään.</a> 
WordPress on erittäin helppokäyttöinen alunperin blogeja varten kehitetty julkaisujärjestelmä, joka monipuolisuutensa takia soveltuu myös isojenkin yritysten julkaisujärjestelmäksi.</p>

<p>Se että sivu erottuu massasta kaikin tavoin, 
vaatii paljon tutkimusta muista alan sivuista, ja vaatii aikaa. </p>

Valintojesi perusteella hinta voisi olla 330€ + ALV 23%(75.9€)

然后用户可以选择关闭有结果的窗口,或者与我联系以将结果添加到消息中,所以我需要剥离 gmail 显示的 html 标签,它们显示在 textarea也。我将如何做到这一点,因为我的 ajax 调用将文本添加到 textarea 是这样的:

$.ajax({
        type: "POST",
        url: "calculate.php",
        data: calculation_data,
        error: function (failure) {
            $('#result').html("Palvelimelta ei saatu tietoja. Internet-yhteytesi on mahdollisesti poikki, tai serveri on ylikuormittunut. Yritä hetken päästä uudelleen. ");
            $('#hintalaskuri .control-group').slideUp();
        },
        success: function (response) {
            $('#result').html(response);
            $('#hintalaskuri .control-group').slideUp();
            $('#hintalaskuri .modal-footer').prepend('<a href="#tarjouspyyntö" data-dismiss="modal" aria-hidden="true" class="btn btn-success" data-toggle="modal">Lähetä tarjouspyyntö</a>');
            //add text to textarea
            $('#tarjouspyyntö [name=hintalaskuri]').val(response);

        }


    });

添加 $(html).text();成功功能没有帮助,那我该怎么做呢?

【问题讨论】:

  • "将 $(html).text(); 添加到成功函数没有帮助" 你的意思是:$('#tarjouspyyntö [name=hintalaskuri]').val($(response) 。文本());不行吗?
  • 不,我的意思是添加$(html).text(); 之前 $('#tarjouspyyntö [name=hintalaskuri]').val(response);

标签: javascript jquery strip-tags


【解决方案1】:

您已经将 html 添加到您的元素之一。所以从该元素中获取文本

$('#tarjouspyyntö [name=hintalaskuri]').val($('#result').text());

【讨论】:

  • 这也删除了空白,有没有办法保留空白?
  • @roasted 没有包含在任何标签中的文本会发生什么?我不认为你可以从字符串创建一个 jquery 对象
  • @ChristianNikkanen 你是说换行符吗?
  • 不,它会从文本中删除所有个空格。
  • 哦,我想它会留下空格。
【解决方案2】:

尝试$('#result').text() 仅获取不带 HTML 标记的结果文本(在使用 $('#result').html(response); 将其添加到 DOM 之后)

【讨论】:

    【解决方案3】:
    $('#tarjouspyyntö [name=hintalaskuri]').val($(response).text()); 
    

    如果你想要元素之间的空格:

    var resultHtml = "";
    $(response).each(function(index,value){
           resultHtml += $(value).text() + " ";
    });
    $('#tarjouspyyntö [name=hintalaskuri]').val(resultHtml); 
    

    【讨论】:

    • 它在文本的开头产生了未定义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    相关资源
    最近更新 更多