ckeditor删除codeigniter中的格式

时间:2013-07-29 17:17:51

标签: php jquery codeigniter fckeditor

我正在使用带有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>

我不知道出了什么问题,但是当我保存数据时,它会删除上面的格式。

由于

1 个答案:

答案 0 :(得分:0)

这是因为您输入的XSS过滤而发生的。

您应该检查以下几项以确保不会清除此字段:

  1. 您可能有一个过滤输入的验证规则:$this->form_validation->set_rules('page_description', 'Description', 'required|xss_clean');
  2. 检查$config['global_xss_filtering'] = TRUE;文件中是否config.php
  3. 如果您在输入中传递TRUE作为第二个参数,则会过滤您的输入:$this->input->post('page_description', TRUE);