Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在我的编辑器中需要双击提交按钮才能工作?_Javascript_Jquery_Ckeditor - Fatal编程技术网

Javascript 为什么在我的编辑器中需要双击提交按钮才能工作?

Javascript 为什么在我的编辑器中需要双击提交按钮才能工作?,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,Im有一个名为管理内容的模块,管理员可以在其中编辑网站的内容。我看到这个编辑器,我把它应用到我的网站上,但有一个问题。当我点击提交时,它不会改变,但当我试图双击提交时,它会改变 查看 <div class="col-md-6"> <ol class="breadcrumb"> <div id="success-message-edit-about"></div> <form id=

Im有一个名为管理内容的模块,管理员可以在其中编辑网站的内容。我看到这个编辑器,我把它应用到我的网站上,但有一个问题。当我点击提交时,它不会改变,但当我试图双击提交时,它会改变

查看

<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>
控制器

public function edit_about_form_submit() 
    {

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

Content: This is my content

Change into: Update Content
然后,当我单击submit时,在我的inspect元素中,它没有改变。但是当我双击提交按钮时,它现在会改变

问题:如何解决此问题?应该只单击一次,而不是两次

编辑:

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();
    })
})
$(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();
         }

    })
})

我从2012年的论坛帖子中找到了这个

我的问题的解决办法是,我必须在发布之前打电话给这个 到服务器:

代码:


我从2012年的论坛帖子中找到了这个

我的问题的解决办法是,我必须在发布之前打电话给这个 到服务器:

代码:


你是说我会把它放在我的ajax之前?我编辑了我的js。你能检查一下我是否做得对吗?建议将updateElement调用放在submit按钮的mousedown事件中。但是整个线程都充满了关于何时何地更新元素的各种答案。但是我把它放在了我的提交按钮操作中。你是说我会把它放在我的ajax之前?我编辑了我的js。你能检查一下我是否做得对吗?建议将updateElement调用放在submit按钮的mousedown事件中。但是整个线程充满了关于何时何地更新元素的各种答案。但是我把它放在了提交按钮操作中。
 for ( instance in CKEDITOR.instances )
 {
   CKEDITOR.instances[instance].updateElement();
 }