所有.
我很难想出这一点,这是我第二次需要用tinyMCE做某事,但这次我找不到答案.
这是我想要做的:我已经在我的编辑器上添加了一个按钮,打开一个新的弹出窗口,单个文本输入字段和一个按钮.我想单击按钮并获取我在输入字段中设置的值,然后使用该值修改我在编辑器中的内容.
以下是我到目前为止,只有相关代码:
init : function( ed,url ) { ed.addCommand( 'mceTooltip',function() { ed.windowManager.open({ file: 'imageurl.html',width: 480,height: 180,inline: 1,title: 'Please enter an image URL' },{}); }); }
这是imageurl.html所具有的:
<input type="text" id="image-url" /> <input type="button" id="submit-image-url" value="Ok" />
所以,我需要做的是获取任何“image-url”文本输入,每当我点击确定按钮,并使用该文本在我的编辑器.我知道我可以使用ed.selection.setContent(fieldValue),它将用image-url值替换我所选择的文本,我只是不知道如何获取image-url值.
我能找到的最详细的信息是http://www.tinymce.com/wiki.php/How-to_implement_a_custom_file_browser,但是我无法使我的工作满足我的需要.
有谁可以帮助我吗?我相信对于有更多经验的人来说,这应该是简单的.
谢谢大家的关注.
imageurl.html **更新
<script> document.getElementById( 'submit-image-url' ).onclick = function(){ var imageUrl = document.getElementById( 'image-url' ).value; window.parent.tinyMCE.activeEditor.execCommand( 'mceInsertContent',imageUrl ); window.parent.tinyMCEPopup.close(); // this line gets me this error: "Uncaught TypeError: Cannot read property 'windowManager' of undefined " }; </script>
解决方法
好的,这不应该那么困难.
请在imageurl.html底部的脚本标签中发布,或者使用一个文档就绪的javascript函数.以下将向您的按钮添加一个onclick处理程序,该按钮将获取image_url并将其写入tinymces选择.
$('#submit-image-url').bind('click',function(){ var image_url = $('#image-url').val(); // in case you are using a real popup window window.opener.tinymce.activeEditor.selection.setContent(image_url); // in case you use a modal dialog tinymce.activeEditor.selection.setContent(image_url); });