Javascript Summernote-验证时显示为原始HTML的文本

Javascript Summernote-验证时显示为原始HTML的文本,javascript,php,jquery,html,codeigniter-2,Javascript,Php,Jquery,Html,Codeigniter 2,我正在使用Codeigient,前端是Summernote,现在是一个表单,当一些字段为空时,将加载相同的页面并进行验证检查。我正在使用以下JS和CI代码: $(window).load(function(){ <?php if(isset($article['text'])) { ?> $('#summernote').code('<?php echo $article['text']; ?>');

我正在使用Codeigient,前端是Summernote,现在是一个表单,当一些字段为空时,将加载相同的页面并进行验证检查。我正在使用以下JS和CI代码:

 $(window).load(function(){
        <?php if(isset($article['text']))
         {
         ?>
        $('#summernote').code('<?php echo $article['text'];  ?>');
        <?php } else { ?>

        $('#summernote').code('<?php echo $_POST['contents'];  ?>').text();

        <?php } ?>
    });
$(窗口).load(函数(){
$(“#summernote”)。代码(“”);
$('#summernote')。代码(''.text();
});
现在的问题是,当验证失败时,上面的代码用原始HTML而不是应该的格式化HTML填充Summernote编辑器

这是我的第一个后佩伦特斯自由侵权者的例子, tincidunt et,tincidunt eget,semper nec,quam。同侧阴唇 艾米特,我是一位杰出的领导者。佩伦茨克的通信符厄洛斯·埃尼姆。 埃涅亚饮食。粗矢状体。
Nam at 矢状中间带的斜颈。无主无主,无主无主 艾米特,诺曼身份证,帝国封建主义者,佩德。马蒂斯河畔酒店 毛里斯·索达莱斯·阿利夸姆。布拉迪特·莫利斯·拉库斯酒店。Phasellus 坦普斯。

你知道为什么会这样吗?我试过.val和.html,但都不起作用。请帮忙

使用html更改代码:

$(window).load(function(){
    <?php if(isset($article['text']))
     {
     ?>
    $('#summernote').html('<?php echo $article['text'];  ?>');
    <?php } else { ?>

    $('#summernote').html('<?php echo $_POST['contents'];  ?>');

    <?php } ?>
});
$(窗口).load(函数(){
$('#summernote').html('');
$('#summernote').html('');
});

好的。经过两天的努力——我找到了原因——这太愚蠢了。Codeigniter表单验证使用转义字符对所有格式化数据进行编码,并将其转换为原始HTML。若要解决此问题,请删除表单_validation.php或表单验证规则中的内容验证。然后您可以使用

 $('#summernote').code(<?php echo $this->input->post('contents');?>);
$('#summernote').code();

不过,谢谢大家的帮助。

您可以使用下面的代码

$(window).load(function(){

    // set content 
    <?php if(isset($article['text'])) { ?>
    $('#summernote').html('<?php echo $article['text'];  ?>');
    <?php } else { ?>
    $('#summernote').html('<?php echo $_POST['contents'];  ?>');
    <?php } ?>

    // create editor 
    $("#summernote").summernote();
});
$(窗口).load(函数(){
//设置内容
$('#summernote').html('');
$('#summernote').html('');
//创建编辑器
$(“#summernote”).summernote();
});

$(窗口).load(函数(){
//创建编辑器
$('#summernote').summernote();
//设置内容
$(“#summernote”)。代码(“”);
$(“#summernote”)。代码(“”);
});

关于你自己的答案,我还有几句话要说,因为这是一个一般性问题。坦白地说,这并不是那么愚蠢,现代框架就是这样做的,如果你不告诉他们要做其他的事情,它们就可以逃避html字符

在您的案例中(Codeigniter)告诉您不要逃跑是验证的一部分

在我的情况下(.net mvc razor views),您可以执行以下操作:

$('#summernote').code("@Html.Raw("<div>your html string</div>")");
$('#summernote').code(@Html.Raw(“您的Html字符串”));

如果html()不起作用,我们需要的输出可能是您有一些奇怪的地方。请从else块中删除
.text()
,然后重试,看看它是否起作用。我试图删除.text()不起作用@Michelem:$_POST['contents']在验证失败时应用。您可以尝试以下操作:$('summernote').html('HELLO WORLD);如果这是可行的,那么这就是PHP回显非html字符串。两个版本都将在summernote中包含html代码。如何在summernote中使用格式化程序文本。例如,我想在summernote中使用文本,但这就是我在那里看到的内容。希望看到只有“文本”,但在粗体。在代码视图中,我看到:strong文本/strong在哪里添加代码?我的代码是:$(document.ready(function(){$('#summernote')).summernote({height:“500px”});});var postForm=function(){var content=$('textarea[name=“content”]').html($('summernote').code());}首先初始化:
$('summernote').summernote({height:'500px')
然后设置内容:
$('#summernote').code($('textarea[name=“content”]')).html()
。但我不确定。你在哪里添加内容?例如,这里的内容…
Wooh,以不同的方式解决了问题。只需将我的HTML放入DIV,然后创建隐藏文本区域,并使用JS将DIV内容发送到表单提交的隐藏文本区域。是的,很高兴你找到了解决方法。它只需要玩一点,直到你找到一个解决方案-这是一个很好的工具。
$('#summernote').code("@Html.Raw("<div>your html string</div>")");