0

我将 FCKEditer 与 codeigniter 一起使用,当我将数据提交到数据库时,它会在提交数据之前删除格式。

例如,如果我提交

<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>

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

4

1 回答 1

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);
于 2013-09-03T13:58:03.440 回答