我正在使用带有codeigniter的FCKEditer,当我向datbase提交数据时,它会在提交数据之前删除格式。
例如,如果我提交
<span style="color: rgb(255, 0, 0);">know-how in the field of Water</span>
表中的数据存储将是
<span>know-how in the field of Water</span>
我的形式像波纹管
<form action="#" method="post" id="frm" name="frm" class="form_class">
<label id="validateeditor" >Description</label>
<?
$dataf = array(
'name' => 'page_description',
'id' => 'page_description',
'toolbarset' => 'Default',
'basepath' => base_url().'application/plugins/fckeditor/',
'width' => '700',
'height' => '400'
);
echo form_fckeditor( $dataf, @$result['page_description']);
</form>
我正在使用以下jquery代码来保存数据库中的数据
<script type="text/javascript">
$(document).ready(function(){
jQuery("#frm").validationEngine('attach',{
promptPosition :'centerRight',
onValidationComplete: function(form, status){
if(status)
{
insert_update();
}
}
})
});
function insert_update()
{
var fckvalue = FCKeditorAPI.GetInstance('page_description').GetXHTML();
$("#page_description").val(fckvalue);
var formdata = $("#frm").serialize();
$.ajax({
type: 'POST',
url: '<?php echo site_url(ADMIN_DIR."cms/insert_update"); ?>',
data: formdata,
success:function (data){
var msg;
if(jQuery.trim($("#<?php echo $u_column;?>").val())!='')
{
msg = "Record Updated Successfully.";
}
else
{
msg = "Record Inserted Successfully.";
}
jQuery.noticeAdd({text:msg});
$("#list").trigger("reloadGrid");
editDialog.dialog("close");
}
});
}
</script>
我不知道出了什么问题,但是当我保存数据时,它会删除上面的格式。
由于
答案 0 :(得分:0)
这是因为您输入的XSS过滤而发生的。
您应该检查以下几项以确保不会清除此字段:
$this->form_validation->set_rules('page_description', 'Description', 'required|xss_clean');
$config['global_xss_filtering'] = TRUE;
文件中是否config.php
。TRUE
作为第二个参数,则会过滤您的输入:$this->input->post('page_description', TRUE);