将数据从Thickbox传回TinyMCE

时间:2012-11-28 作者:Jiri Krewinkel

我在TinyMCE编辑器中的页面/帖子页面中添加了一个快捷键,可以打开Thickbox表单。

按钮正在工作;它打开了thickbox表单。然而,我的绊脚石是将值返回到TinyMCE编辑器并关闭thickbox。

这是我用来显示按钮和打开Thickbox的代码

ed.addButton(\'aesloop\', {
            title: \'Adds a loop of recent posts with specific parameters to the page.\',
            image: url+\'/../img/shortcodeloop.png\',
            onclick: function(){
                tb_show(\'Test\', \'admin-ajax.php?action=aes_ajax_test\');
            }
        });
调用此函数

add_action(\'wp_ajax_aes_ajax_test\', \'aes_ajax_test\');
function aes_ajax_test(){
    // echo the form
}
在表单的末尾会有一个按钮,用来获取所有数据并将其转换为短代码。

我的问题是:

如何在按下返回TinyMCE编辑器的按钮并关闭thickbox后从thickbox获取数据

我做了很多搜索,但在Thickbox上找不到合适的文档,在Shortcode和Thickbox表单上也找不到任何文档。

编辑:我尝试过使用window。send\\u to\\u editor和tb\\u remove,但我可能使用错误

1 个回复
最合适的回答,由SO网友:Jiri Krewinkel 整理而成

好吧,我仔细研究了一些现有的主题,我必须试着找出如何实现这一点。如果有人在读这篇文章,我就是这样做的:

onclick 我调用了TinyMCE的函数ajax表单,然后在表单中添加了一些使用

tinyMCE.activeEditor.execCommand(\'mceInsertContent\', 0, output);
命令将文本放回编辑器中。这当然是由某种提交按钮触发的。

然后我使用

tb_remove();
再次关闭thickbox。

所以从本质上讲,这会使函数看起来有点像这样:

add_action(\'wp_ajax_aes_ajax_test\', \'aes_ajax_test\');
function aes_ajax_test(){
    ?>
    <script type="text/javascript">
        jQuery(\'#aes-submit\').click(function(){
                    tinyMCE.activeEditor.execCommand(\'mceInsertContent\', 0, \'swag\');
                    tb_remove();
        })
    </script>
    <?php
    echo \'<button id="aes-submit">Submit Data</button>\';
}

结束

相关推荐

如何通过AJAX WooCommerce添加到购物车

我已经找了一段时间了,这个。我想通过AJAX添加一个项目。在Woocommerce中将项目添加到购物车时,页面将使用GET参数重新加载add-to-cart=\"The current product ID\".我想通过AJAX来实现。在管理区域中有一个复选框,用于启用标记为“启用AJAX按钮以添加到产品列表上的购物车”的功能但它什么也不做,它仍在重新加载页面。