[英]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.