我需要将一些数据注入表单(ckeditor)。
问题是当我注入它时,它给我这样的东西:
如您所见,图像和标题都很好,但描述不是。
<script type="text/javascript">
jQuery(function($) {
var dialog = window.parent.CKEDITOR.dialog.getCurrent();
var form = $('#dynamictemplates-contents');
var targetHtml = $('input[name=html]').val('');
var generateHtmlContent = function()
{
$.ajax({
url: form.attr("action"),
type: form.attr("method"),
dataType : 'html',
data: form.serialize(),
success: function(data, status) {
targetHtml.val(data);
// var iframe = $(dialog._.editor.document.$.defaultView.frameElement);
// iframe.contents().find("head").append('<scr' + 'ipt type="text/javascript" src="{{ asset('backend/js/holder.min.js') }}"></scr' + 'ipt>');
//dialog._.editor.insertHtml(data);
//dialog.hide();
},
error: function(data, status, error){
alert('Une erreur a eu lieu lors de la récupération du contenu : "'+data+'"');
}
})
}
var elmts = form.find('input[type=hidden][name^="content_ids"]');
if(!elmts.length)
{
generateHtmlContent();
}
else
{
elmts.on('change', function(){
var submit = true;
elmts.each(function()
{
if(!$(this).val())
submit = false;
});
if(submit)
generateHtmlContent();
else
targetHtml.val('');
});
}
});
</script>
我已经尝试过了
targetHtml.val($('<div />').html(data).text());
这适用于描述,但标题会失去其风格,图像会消失。
这是表格的行来源:
<section class="ckedt-dragrow content recipe">
<div class="container">
<div class="box img">
<div class="img-container ckedt-img-to-background" style="background-image:url('/cache/570x380/uploads/image/2015/04/A-FILETTA-PAOLO-FRESU-DANIELE-DI-BONAVENTURA.jpg')">
</div>
</div>
<div class="box text">
<div class="title">
<span>[Genre]</span> <strong>Jérôme Paoli, garde de la réserve</strong>
</div>
<section class="ckedt-dragrow content video"> <div class="container"> <div class="box img"> <div class="box-content"> <div class="img-container ckedt-img-to-background" style="background-image:url('http://placehold.it/570x380')">&nbsp;</div> </div> </div> <div class="box text"> <div class="box-content"> <p>Ici, ce n’est pas un mais trois canaux qui parcourent nos paysages, tantôt rectilignes, tantôt onduleux, ils sont autant d’atmosphères contrastées et d’émotions à vivre.</p> <p><strong>Le Canal du Midi</strong>, fabuleuse ligne de vie entre les hommes et de commerce entre les régions. Ses 241 km sont une formidable prouesse technique, et ses paysages d’une douceur extrême.</p> <p><strong>Le Canal de la Robine</strong>, sur les traces de l’ancien lit du fleuve Aude, il traverse Narbonne et les lagunes avant de rejoindre la Méditerranée.</p> <p><strong>Le Canal de Jonction</strong>, comme son nom l’indique, connecte la Canal du Midi à la Robine. Un canal espéré pendant plus d’un siècle.</p> </div> </div> </div> </section> <a href="/app_dev.php/fr/jerome-paoli-garde-de-la-reserve">+ lire</a></div>
</div>
</section>
你知道如何解决它吗?
答案 0 :(得分:0)
.text()
给你文字,所以html是转换为文本,如果你想预先跨站点脚本(也可以发生von替代来源),这是保存的。
看到这个fiddel: http://jsfiddle.net/hossain/sUTVg/