Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 在使用initialize和destroy几次之后,Froala在textarea的Ajax加载上失败_Javascript_Jquery_Froala - Fatal编程技术网

Javascript 在使用initialize和destroy几次之后,Froala在textarea的Ajax加载上失败

Javascript 在使用initialize和destroy几次之后,Froala在textarea的Ajax加载上失败,javascript,jquery,froala,Javascript,Jquery,Froala,要更新一些博客数据,单击编辑按钮会启动一个Ajax调用,该调用将加载Froala的文本区域,并在同一例程中初始化Froala。它显示正确。我单击submit按钮,这是另一个销毁Froala实例并清空textarea的例程,以便在另一个博客上重新开始 这似乎适用于编辑/提交的几个周期(1、2或3-不一致),然后失败,textarea不再呈现为Froala界面 我确实收到了大量的Javascript错误,但我很难理解和跟踪它们的来源,因为大多数问题都指向Jquery问题。我怀疑这些是关键,但也许有人

要更新一些博客数据,单击编辑按钮会启动一个Ajax调用,该调用将加载Froala的文本区域,并在同一例程中初始化Froala。它显示正确。我单击submit按钮,这是另一个销毁Froala实例并清空textarea的例程,以便在另一个博客上重新开始

这似乎适用于编辑/提交的几个周期(1、2或3-不一致),然后失败,textarea不再呈现为Froala界面

我确实收到了大量的Javascript错误,但我很难理解和跟踪它们的来源,因为大多数问题都指向Jquery问题。我怀疑这些是关键,但也许有人可以指出一些显而易见的事情,因为我努力理解这些错误。最后我会发布一些

//The textarea is appended to id="edit_data"
//It is: '<textarea id="article">{blog data here}</textarea>'
//this would be the (data) that comes through Ajax.
//HTML:
<div id="edit">
    <div id="edit_data"></div>    
</div>

//would get this after Ajax call
<div id="edit_data">
        <textarea id="article">{Froala blog data here}</textarea>
</div>    

//JS code when edit button clicked that appends textarea and initializes Froala
    $(document).on('click', '#edit_blog', function(){ 
            $.ajax({
                type: "POST",
                url: 'blog_list_ajax.php',
                async : false,
                data: { "action":'edit_blog',
                        "post_id":post_id},
                success: function(data) {
                        $('#edit_data').append(data);
                        $('#edit').fadeIn(1000);
                },
                error: function() {
                    alert('Ajax Failed');
                }
            });

              // Froala Initialize action.
              if (!$('#article').data('froala.editor')) {
                $('#article').froalaEditor();
              } 
    });

//JS code when submit button clicked that destroys Froala and empties textarea
    $(document).on('click', '#update', function(){               
        //Destroy Froala instance        
        if ($('#article').data('froala.editor')) {
          $('#article').froalaEditor('destroy');
        }          
        $('#edit_data').empty();
        $('#edit').hide();
    });
//文本区域被附加到id=“edit\u data”之后
//它是:“{blog data here}”
//这将是通过Ajax提供的(数据)。
//HTML:
//在Ajax调用之后会得到这个
{此处为Froala博客数据}
//单击“编辑”按钮时添加textarea并初始化Froala的JS代码
$(文档)。在('单击','编辑'博客',函数(){
$.ajax({
类型:“POST”,
url:'blog_list_ajax.php',
async:false,
数据:{“操作”:“编辑博客”,
“post_id”:post_id},
成功:功能(数据){
$(“#编辑#数据”)。追加(数据);
$('编辑').fadeIn(1000);
},
错误:函数(){
警报(“Ajax失败”);
}
});
//弗罗拉初始化动作。
if(!$('#article').data('froala.editor')){
$('文章').froalaEditor();
} 
});
//单击submit按钮时的JS代码会破坏Froala并清空textarea
$(文档)。在('单击','更新',函数(){
//摧毁弗罗拉实例
if($('#article').data('froala.editor')){
$('文章').froalaEditor('销毁');
}          
$(“#编辑#数据”).empty();
$(“#编辑”).hide();
});
即使每次都加载新的
s,Froala初始化和销毁也应该完成这个任务

JAVASCRIPT错误:

VM17117:29 Uncaught TypeError: $.widget is not a function
    at <anonymous>:29:7
    at <anonymous>:590:3
    at m (VM17076 jquery-3.3.1.min.js:2)
    at Function.globalEval (VM17076 jquery-3.3.1.min.js:2)
    at text script (VM17076 jquery-3.3.1.min.js:2)
    at Ut (VM17076 jquery-3.3.1.min.js:2)
    at k (VM17076 jquery-3.3.1.min.js:2)
    at XMLHttpRequest.<anonymous> (VM17076 jquery-3.3.1.min.js:2)
    at Object.send (VM17076 jquery-3.3.1.min.js:2)
    at Function.ajax (VM17076 jquery-3.3.1.min.js:2)

VM17119:7 Uncaught TypeError: Cannot read property 'POPUP_TEMPLATES' of undefined
    at <anonymous>:7:287
    at <anonymous>:7:240
    at <anonymous>:7:257
    at m (VM17076 jquery-3.3.1.min.js:2)
    at Function.globalEval (VM17076 jquery-3.3.1.min.js:2)
    at text script (VM17076 jquery-3.3.1.min.js:2)
    at Ut (VM17076 jquery-3.3.1.min.js:2)
    at k (VM17076 jquery-3.3.1.min.js:2)
    at XMLHttpRequest.<anonymous> (VM17076 jquery-3.3.1.min.js:2)
    at Object.send (VM17076 jquery-3.3.1.min.js:2)

VM17120:7 Uncaught TypeError: Cannot read property 'DEFAULTS' of undefined
    at <anonymous>:7:284
    at <anonymous>:7:240
    at <anonymous>:7:257
    at m (VM17076 jquery-3.3.1.min.js:2)
    at Function.globalEval (VM17076 jquery-3.3.1.min.js:2)
    at text script (VM17076 jquery-3.3.1.min.js:2)
    at Ut (VM17076 jquery-3.3.1.min.js:2)
    at k (VM17076 jquery-3.3.1.min.js:2)
    at XMLHttpRequest.<anonymous> (VM17076 jquery-3.3.1.min.js:2)
    at Object.send (VM17076 jquery-3.3.1.min.js:2)
VM17117:29未捕获类型错误:$。小部件不是函数

在。

上面的代码工作正常。问题是双重加载包含多个javascript(jquery、tagit、bootstrap等)文件的头文件时发生冲突,这导致错误累积最终导致异常行为。纠正此问题后,Froala启动/销毁功能工作正常

上面的代码工作正常。问题是双重加载包含多个javascript(jquery、tagit、bootstrap等)文件的头文件时发生冲突,这导致错误累积最终导致异常行为。纠正此问题后,Froala启动/销毁功能工作正常