不能在Codeigniter上用CKeditor输入textarea

时间:2017-12-08 04:21:11

标签: php codeigniter input ckeditor ajaxform

当我想用CKeditor输入textarea时,字符串为Null,但是当我在textarea中删除class =“CKeditor”时,字符串成功填充。 我已经检查了控制器和数据库,但没关系

我的控制器

function AddNews(){
    $data = array(
        'title_news'            => $this->input->post('title_news'),
        'text'                  => $this->input->post('text_news'),
        'date'                  => $this->input->post('date'),
    );
    $insert = $this->m_news->save($data);
    echo json_encode(array("status" => TRUE));       
}

我的观点

<form action="#" id="form" class="form-horizontal">
    <input type="hidden" value="" name="id_news"/>
        <div class="form-body">
            <div class="form-group">
                <label class="control-label col-md-3">Title News </label>
                <div class="col-md-9">
                    <input name="title_news" placeholder="Title Name" class="form-control" type="text"><span class="help-block"></span>
                </div>
            </div>

            <div class="form-group">
                <label class="control-label col-md-3">Title News </label>
                <div class="col-md-9">
                    <textarea class="ckeditor"  name="text_news" rows="3" placeholder="Enter text . . . "></textarea><span class="help-block"></span>
                </div>
            </div>

            <div class="form-group">
                <label class="control-label col-md-3">Date</label>
                <div class="col-md-9">
                    <div class="input-group">
                        <input class="form-control date-picker" name="date" type="text" data-date-format="yyyy-mm-dd" placeholder="yyyy-mm-dd" /><span class="input-group-addon"><i class="fa fa-calendar bigger-110"></i></span>
                    </div>
                </div>
            </div>
            <button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Save</button>
        </div> 
    </form>

我的Ajax输入

function save()
{
    var formData = new FormData($('#form')[0]);
    $.ajax({
        url : "<?php echo base_url('admin-spot/news/AddNews')?>",
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        dataType: "JSON",
        redirect: true,
        success: function(data){
            if(data.status){
                $('#modal_form').modal('hide');
            }
            else
            {}

            error: function (jqXHR, textStatus, errorThrown){
                alert('Error adding / update data');
                $('#btnSave').text('save'); //change button text
                $('#btnSave').attr('disabled',false); //set button enable
            }
        });
    }

我的模特

function Save($data)
{
    $sql = $this->db->insert($this->table, $data);
    return $sql;
}
你好,伙计们, 当我想用CKeditor输入textarea时,字符串为Null,但是当我在textarea中删除class =“CKeditor”时,字符串成功填充。 我已经检查了控制器和数据库,但没关系

1 个答案:

答案 0 :(得分:0)

将此添加到您的脚本

function save()
{
    for (instance in CKEDITOR.instances) {
       CKEDITOR.instances[instance].updateElement();
    }
    var formData = new FormData($('#form')[0]);

    $.ajax({
        .... 
    });
}