为什么我的CKEditor需要双击提交按钮才能工作?

时间:2017-12-11 16:03:38

标签: javascript jquery ckeditor

我有一个名为管理内容的模块,管理员可以在其中编辑网站内容。我看到这个CKEditor并将其应用到我的网站,但遇到了问题。当我点击提交时,它不会改变,但是当我尝试双击提交时它会改变。

查看

<div class="col-md-6">

          <ol class="breadcrumb">
          <div id="success-message-edit-about"></div>
          <form id="edit-about">
            <input type="hidden" name="id" value="<?= secret_url('encrypt',$edit_about->id)?>">
            <div class="form-group">
            <label>Content</label>

             <textarea  id="editor" rows="4" cols="50"  name="content_description" class="form-control"><?= $edit_about->content?></textarea>
                  <div class="text-danger" id="content_description_error"></div>
            </div>


            <input type="submit" class="btn btn-success " value="Continue" align="center" ">

          </form>


          </ol>
 </div>

JS

$(document).ready(function(){
    $("#edit-about").on('submit',function(e){
        $.ajax({
            url: base_url + "administrator/edit_about_form_submit",
            type: "POST",
            data: $(this).serialize(),

            success:function(data) {
                var result = JSON.parse(data);

                if(result === "success")
                {
                    $("h5").html("");
                    success_message("#success-message-edit-about","Thank you!");
                    window.setTimeout(function(){location.href=base_url+"administrator/about"},2000);
                }
                else{

                    $("#link_error").html(result.link_error);
                }
            },
            error: function(data) {
                alert('error');
            }
        })
        e.preventDefault();
    })
})

控制器

public function edit_about_form_submit() 
    {

        echo json_encode($_POST['content_description']);die;
    }

方案

Content: This is my content

Change into: Update Content

然后当我点击提交时,在我的inspect元素中它没有改变。但是当我双击提交时,它现在会改变。

问题:我该如何解决这个问题?它应该只被点击一次而不是两次

编辑:

JS

$(document).ready(function(){
    $("#edit-about").on('submit',function(e){
         for ( instance in CKEDITOR.instances )
         {
           CKEDITOR.instances[instance].updateElement();
           $.ajax({
            url: base_url + "administrator/edit_about_form_submit",
            type: "POST",
            data: $(this).serialize(),

            success:function(data) {
                var result = JSON.parse(data);

                if(result === "success")
                {
                    $("h5").html("");
                    success_message("#success-message-edit-about","Thank you!");
                    window.setTimeout(function(){location.href=base_url+"administrator/about"},2000);
                }
            },
            error: function(data) {
                alert('error');
            }
        })
        e.preventDefault();
         }

    })
})

1 个答案:

答案 0 :(得分:0)

我是从2012年的论坛帖子中找到的。

http://forum.codeigniter.com/thread-51301.html

  

我的问题的解决方案是我必须在发布之前调用它   到服务器:

代码:

 for ( instance in CKEDITOR.instances )
 {
   CKEDITOR.instances[instance].updateElement();
 }