web-dev-qa-db-fra.com

Cochez la case TinyMCE qui renvoie la valeur au lieu de true/false

À ma connaissance, la case à cocher des cases à cocher TinyMCE ne renvoie que vrai ou faux. Est-ce correct?

Est-il possible d'obtenir une liste de cases à cocher? Et toutes les valeurs d'éléments dans la liste de cases à cocher qui sont cochées seront insérées dans le message via la méthode editor.insertContent()?

Ou peut-être une boucle for pour vérifier si chacune d’elles est vérifiée, et si oui, récupérer une valeur?

(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
rand_user91

Noms d'objet propres

Tout d'abord, assurez-vous que vous utilisez les noms d'objet appropriés. Au lieu d'utiliser label pour les cases à cocher; utilisez text à la place. ( Syntaxe de la case à cocher TinyMCE )

onsoumettre:

Lorsque vous utilisez la fonction onsubmit(); les informations du formulaire sont transmises à la fonction. Nous pouvons donc utiliser le premier argument de la fonction pour rechercher des valeurs de formulaire.

Ainsi, la valeur de la première case à cocher serait e.data.title. La deuxième case à cocher serait e.data.lol. La name de l'élément de formulaire sera la clé de l'objet e.data..

Vérification des valeurs

Maintenant, dans la fonction onsubmit(); nous pouvons tester si chaque case à cocher contient une valeur vraie ou fausse; et coder en conséquence.

Code entier

Voici le code complet modifié:

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);
    }
});

Vous voudrez probablement ajuster la variable send_to_editor à vos besoins.

2
josh