Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 无法找到使用ckeditor成功上载的正确事件_Javascript_Php_Ckeditor - Fatal编程技术网

Javascript 无法找到使用ckeditor成功上载的正确事件

Javascript 无法找到使用ckeditor成功上载的正确事件,javascript,php,ckeditor,Javascript,Php,Ckeditor,我刚刚在CKEditor中加入了一个自定义文件管理器。 我可以看出,当使用内置的添加图像功能时,它工作正常 问题:我有一个自定义的“引导转盘”插件,我还提供了图像上传功能 目标:就像内置的添加图像一样,在成功上传图像后激活下一个或另一个选项卡,我希望我的插件也这样做但它只显示了一个红色进度条,尽管在同一选项卡上图像上载成功。似乎我错过了一些上传成功事件。但是文档没有提供有关FileManger事件的信息,或者我找不到任何信息 这是我的密码: CKEDITOR.editorConfig = fun

我刚刚在CKEditor中加入了一个自定义文件管理器。
我可以看出,当使用内置的添加图像功能时,它工作正常

问题:我有一个自定义的“引导转盘”插件,我还提供了图像上传功能

目标:就像内置的添加图像一样,在成功上传图像后激活下一个或另一个选项卡,我希望我的插件也这样做但它只显示了一个红色进度条,尽管在同一选项卡上图像上载成功。似乎我错过了一些上传成功事件。但是文档没有提供有关FileManger事件的信息,或者我找不到任何信息

这是我的密码:

CKEDITOR.editorConfig = function(config){
    config.filebrowserUploadUrl = '/admin/upload/';
    config.filebrowserImageUploadUrl = '/admin/upload/';
    config.filebrowserBrowseUrl = '/admin/upload/?type=browse';
}
php路由器将请求路由到
admin/upload
此php函数:

public function fileUpload($params){
    $funcNum = $_GET['CKEditorFuncNum'];
    $url = '';
    $error = '';
    if($_FILES['upload']['error'] > 0 ){
        switch($_FILES['upload']['error']){
            case 1: $error = 'upload_max_filesize overflow';
                break;
            case 2: $error = 'max_file_size overflow';
                break;
            case 3: $error = 'File could not upload completely';
                break;
            case 4: $error = 'No File has been uploaded';
                break;
            case 6: $error = 'No temporary Folder given.';
                break;
            case 7: $error = 'Upload aborted: File could not been written.';
                break;
        }
    }
    $allowedTypes = array('text/plain','image/jpeg','image/gif', 'image/png');
    $type = $_FILES['upload']['type'];
    if(!in_array($type, $allowedTypes)){
        $error = 'This file type is not allowed';
    }
    if(file_exists(ROOT_PATH.'/app/uploads/'.$_FILES['upload']['name'])){
        $error = 'File already exists!';
    }
    if($error === '' && is_uploaded_file($_FILES['upload']['tmp_name'])){
        $upfile = ROOT_PATH.'/app/uploads/'.$_FILES['upload']['name'];
        if(move_uploaded_file($_FILES['upload']['tmp_name'], $upfile)){
            $url = '/app/uploads/'.$_FILES['upload']['name'];
        }else{
            $error .= 'Could not move File to destination folder!';
        }
    }   
    exit("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum, '$url', '$error');</script>");
}
解决方案:

onSelect: function( fileUrl, error ) {
            if(error !== ''){
               alert(error);
            }else{
               var document = this.getElement().getDocument();
               var element = document.getById( 'imgPreview' );
               element.setHtml('<img src="'+fileUrl+'" style="width:100px"><br />');
               var dialog = this.getDialog();
               dialog.getContentElement('tab2','id2').focus();
            }
            return false;
       }
onSelect:function(fileUrl,错误){
如果(错误!=''){
警报(错误);
}否则{
var document=this.getElement().getDocument();
var元素=document.getById('imgPreview');
setHtml(“
”); var dialog=this.getDialog(); getContentElement('tab2','id2').focus(); } 返回false; }
我认为进度条是上传后未完成显示的xdebug通知错误

现在我上传了一张图片,然后把它放到下一个标签上进行进一步的处理,然后把焦点放在那个标签上

onSelect: function( fileUrl, error ) {
            if(error !== ''){
               alert(error);
            }else{
               var document = this.getElement().getDocument();
               var element = document.getById( 'imgPreview' );
               element.setHtml('<img src="'+fileUrl+'" style="width:100px"><br />');
               var dialog = this.getDialog();
               dialog.getContentElement('tab2','id2').focus();
            }
            return false;
       }