Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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 summernote获取我的id文本区_Javascript_Summernote - Fatal编程技术网

Javascript summernote获取我的id文本区

Javascript summernote获取我的id文本区,javascript,summernote,Javascript,Summernote,我在引导上使用summernote自定义按钮,用于以下操作: 单击自定义按钮(完成) 使用ajax内容打开模式(完成) 用户选择了一个项目(完成) 模态调用回调按钮参数和关闭(完成) 函数回调在textarea中插入链接(完成) 那么,怎么了 我想在回调函数中获取textareaid,以便动态(参见最后一个函数) 问题:我可以从上下文中获取textarea id吗?用另一种方法?(我在console.log(context)中找不到它;) 问题2:如何获取光标位置?我的链接被添加到第一个位置

我在引导上使用summernote自定义按钮,用于以下操作:

  • 单击自定义按钮(完成)
  • 使用ajax内容打开模式(完成)
  • 用户选择了一个项目(完成)
  • 模态调用回调按钮参数和关闭(完成)
  • 函数回调在textarea中插入链接(完成)
那么,怎么了

我想在回调函数中获取textareaid,以便动态(参见最后一个函数)

问题:我可以从上下文中获取textarea id吗?用另一种方法?(我在console.log(context)中找不到它;)

问题2:如何获取光标位置?我的链接被添加到第一个位置

var summernote = {

    run: function(id, type) {
        if(type && type === 'full') {
            this.full(id);
        } else {
            this.simple(id);
        }
    },

    simple: function(id) {
        // todo
    },

    full: function(id) {
        var summernote_params = { height:300,
                                  lang: 'fr-FR',
                                  toolbar: [
                                            ['misc', ['undo', 'redo']],
                                            ['style', ['bold', 'italic', 'underline', 'clear']],
                                            ['font', ['superscript', 'subscript']],
                                            ['para', ['ul', 'ol']],
                                            ['mybuttons', ['docimage', 'docdocument']],
                                           ],
                                  buttons: { 
                                             docimage: summernote.docImage,
                                             docdocument: summernote.docDocument,
                                           }, 
                                };
        $('#'+id).summernote(summernote_params);
    },

    docImage: function(context) {
        var ui = $.summernote.ui;
        var button = ui.button({
            contents: '<i class="fa fa-file-image-o"></i>',
            tooltip: 'Insert image',
            click: function () {
                documents.run({filter:'image', callback:[summernote.docImageCallback, context]});
            }
        });
        return button.render();
    },

    docImageCallback: function(context, doc) {
        context.invoke('editor.insertImage', doc.url);
    },

    docDocument: function(context) {
        var ui = $.summernote.ui;
        var button = ui.button({
            contents: '<i class="fa fa-file-o"></i>',
            tooltip: 'Insert file',
            click: function () {
                documents.run({filter:'document', callback:[summernote.docDocumentCallback, context]});
            }
        });
        return button.render();
    },

    docDocumentCallback: function(context, doc) {
        // here i want to get id dynamically
        $('#description').summernote('createLink', {
          text: doc.name,
          url: doc.url,
          newWindow: true
        });
    },

}
var summernote={
运行:函数(id、类型){
如果(类型&&type==='full'){
这是完整的(id);
}否则{
这个。简单(id);
}
},
简单:函数(id){
//待办事项
},
完整:功能(id){
var summernote_params={高度:300,
朗:“fr fr”,
工具栏:[
['misc'、['undo'、'redo'],
['style'、['bold'、'italic'、'underline'、'clear'],
['font',['superscript','subscript']],
[para'、[ul'、[ol'],
['mybuttons',['docimage','docdocument']],
],
按钮:{
docimage:summernote.docimage,
docdocument:summernote.docdocument,
}, 
};
$('#'+id).summernote(summernote_参数);
},
docImage:函数(上下文){
var ui=$.summernote.ui;
var button=ui.button({
内容:'',
工具提示:“插入图像”,
单击:函数(){
运行({filter:'image',回调:[summernote.docImageCallback,context]});
}
});
返回按钮。render();
},
docImageCallback:函数(上下文,doc){
invoke('editor.insertImage',doc.url);
},
docDocument:函数(上下文){
var ui=$.summernote.ui;
var button=ui.button({
内容:'',
工具提示:“插入文件”,
单击:函数(){
运行({filter:'document',回调:[summernote.docDocumentCallback,context]});
}
});
返回按钮。render();
},
docDocumentCallback:函数(上下文,文档){
//这里我想动态地获取id
$(“#说明”).summernote('createLink'{
文本:doc.name,
url:doc.url,
新窗口:是的
});
},
}
电话呢

<textarea id="description"></textarea>
<script>
summernote.run('description', 'full');
</script>

summernote.run('description','full');

因此我为每个问题找到了解决方案

init中的参数是上下文中的sendend。要在上下文中获取id,我只需将其添加到init中:

var summernote = {

...

full: function(id) {
    var summernote_params = { id: id,   // <-- set id in context, (cutsom data)
                              height: 300,
                              lang: 'fr-FR',
                              toolbar: [
                                        ['misc', ['undo', 'redo']],
                                        ['style', ['bold', 'italic', 'underline', 'clear']],
                                        ['font', ['superscript', 'subscript']],
                                        ['para', ['ul', 'ol']],
                                        ['mybuttons', ['docimage', 'docdocument']],
                                       ],
                              buttons: { 
                                         docimage: summernote.docImage,
                                         docdocument: summernote.docDocument,
                                       }, 
                            };
    $('#'+id).summernote(summernote_params);
},

...

docDocumentCallback: function(context, doc) {
    var id = context.options.id;   // <-- get id from context
    $('#'+id).summernote('createLink', {
      text: doc.name,
      url: doc.url,
      newWindow: true
    });
},

}
var summernote={
...
完整:功能(id){
var summernote_params={id:id//
var summernote = {

...

docDocument: function(context) {
    var ui = $.summernote.ui;
    var button = ui.button({
        contents: '<i class="fa fa-file-o"></i>',
        tooltip: app_i18n.summernote_document,
        click: function () {
            context.invoke('editor.saveRange');  // <-- save position cursor
            documents.run({filter:'document', callback:[summernote.docDocumentCallback, context]});
        }
    });
    return button.render();
},

docDocumentCallback: function(context, doc) {
    context.invoke('editor.restoreRange');  // <-- set position cursor to the last save
    if(context.options.id) {
        $('#'+context.options.id).summernote('createLink', {
          text: doc.name,
          url: doc.url,
          newWindow: true
        });
    }
},

}