使TinyMCE复选框返回值而不是TRUE/FALSE

时间:2015-01-11 作者:rand_user91

据我所知,TinyMCE复选框的复选框只返回true或false。这是正确的吗?

有没有办法获得复选框列表?并且复选框列表中选中的所有项目值都将通过editor.insertContent() 方法

或者,做一个for 循环以检查是否已检查其中的每一项,如果已检查,则检索一个值?

(function() {
    tinymce.PluginManager.add(\'portfolio_shuffle_button\', function( editor, url ) {
        editor.addButton( \'portfolio_shuffle_button\', {
            text: \'Popup\',
            icon: false,



                onclick: function() {
                    editor.windowManager.open( {
                        title: \'Choose which Items\',
                        body: [

//or perhaps do a for loop to check each of these are checked and if they are retrieve a value?
                        {
                            type: \'checkbox\',
                            name: \'title\',
                            label: \'Your title\',
                            classes: \'what\' 
                        },

                        {
                            type: \'checkbox\',
                            name: \'lol\',
                            label: \'Your title\',
                            classes: \'what\'                         
                        },




                        ],
                        onsubmit: function( e ) {
                            console.log(e.data[0]);
                            console.log(e);
                            editor.insertContent( \'<h3>\' + e.data.body + \'</h3>\');
                        }
                    });
                }
        });
    });
})();

1 个回复
SO网友:josh

正确的对象名称首先,确保使用正确的对象名称。而不是使用label 用于复选框;使用text 相反(TinyMCE Checkbox Syntax)

提交:

使用onsubmit() 作用表单中的信息被传递到函数中。因此,我们可以使用函数的第一个参数来检查表单值。

因此,第一个复选框的值为e.data.title. 第二个复选框是e.data.lol. 这个name 表单元素的e.data. 对象

现在在中检查值onsubmit() 作用我们可以测试每个复选框是否包含真值或假值;并相应地进行编码。

完整代码这里是完整的修改代码:

editor.windowManager.open( {
    title: \'Choose which Items\',
    body: [
        {
            type: \'checkbox\',
            name: \'title\',
            text: \'Your title\',
            classes: \'what\' 
        },
        {
            type: \'checkbox\',
            name: \'lol\',
            text: \'Your title\',
            classes: \'what\'                         
        }
    ],
    onsubmit: function( e ) {

        // Set var for sending back to editor
        send_to_editor = \'\';

        // Check first checkbox
        if(e.data.title === true) {

            send_to_editor += \'whatever value for true title\';
        }
        // Check second checkbox
        if(e.data.lol === true) {

            send_to_editor += \'another value for true lol\';
        }

        // Send back to editor
        editor.insertContent(send_to_editor);
    }
});
您可能需要调整send_to_editor 可变,以满足您的需要。

结束

相关推荐

粘贴到TinyMCE时完全去掉所有隐藏的格式

在WordPress v4+中,当用户将内容粘贴到TinyMCE visual editor中时,我想删除所有隐藏的格式。当用户插入Microsoft Word中的文本时,“粘贴为文本”按钮会起作用,但在其他应用程序(如OSX页面)中则不会起作用。您可以使用以下内容过滤掉Word的所有格式(谢谢Till Kruss): class PasteAsPlainText { function __construct() { add_action( \'