簡體   English   中英

Summernote - 驗證時顯示為原始 HTML 的文本

[英]Summernote - Text displayed as raw HTML on validation

我在前端使用帶有 Summernote 的 Codeiginter - 現在在表單中,當某些字段為空時,相同的頁面會加載驗證檢查。 我正在使用以下 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 } ?>
    });

現在的問題是,當驗證失敗時,上面的代碼使用 RAW HTML 而不是格式化的 HTML 填充 Summernote 編輯器,因為它應該

這是我第一篇 Pellentesque libero tortor, tincidunt et, tincidunt eget, semper nec, quam 的例子。 Lorem ipsum dolor 坐 amet,consectetuer adipiscing 精英。 Pellentesque commodo eros a enim。 埃涅亞帝國。 矢車菊。
Nam at Tortor intellus interdum sagittis。 Nullam nulla eros,ultricies 坐 amet,nonummy id,imperdiet feugiat,pede。 Etiam ut purus mattis mauris sodales aliquam。 Curabitur blandit mollis lacus。 菜豆。

任何想法為什么會這樣? 我嘗試過 .val 和 .html - 但它們不起作用。 請幫忙。

考慮到您自己的回答,我還有一些話要說,因為這是一個通用問題。 坦率地說,它並不是那么愚蠢,現代框架會這樣做,如果您不告訴它們,它們會轉義 html 字符。

在你的情況下( Codeigniter )告訴不要逃避是在驗證部分。

在我的情況下( .net mvc razor views )你可以這樣做:

$('#summernote').code("@Html.Raw("<div>your html string</div>")");

好的。 經過兩天的緊張努力-我找到了原因-這很愚蠢。 Codeigniter 表單驗證使用轉義字符對所有格式化數據進行編碼,並將它們轉換為原始 HTML。 要解決此問題,請刪除 form_validation.php 或表單驗證規則中的內容驗證。 然后你可以使用輸出

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

不過還是謝謝大家幫忙。

使用 html 更改代碼:

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

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

    <?php } ?>
});

你可以使用下面的代碼

$(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();
});

或者

 $(window).load(function(){
    // create editor 
    $('#summernote').summernote();

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM