wake-up-neo.com

Aktivieren Sie das Kontrollkästchen TinyMCE, das einen Wert anstelle von true/false zurückgibt

Nach meinem Verständnis gibt das Kontrollkästchen der TinyMCE-Kontrollkästchen nur true oder false zurück. Ist das richtig?

Gibt es eine Möglichkeit, eine Checkbox-Liste zu erhalten? Und alle Werte des Elements in der Kontrollkästchenliste, die aktiviert sind, werden mit der Methode editor.insertContent() in den Beitrag eingefügt.

Oder führen Sie eine for -Schleife durch, um zu überprüfen, ob diese alle aktiviert sind, und um einen Wert abzurufen, falls dies der Fall ist?

(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

Richtige Objektnamen

Stellen Sie zunächst sicher, dass Sie die richtigen Objektnamen verwenden. Anstatt label für Kontrollkästchen zu verwenden; Verwenden Sie stattdessen text. ( TinyMCE Checkbox Syntax )

onsubmit:

Bei Verwendung der Funktion onsubmit(); Die Informationen aus dem Formular werden an die Funktion übergeben. Wir können also das erste Argument der Funktion verwenden, um nach Formularwerten zu suchen.

Der Wert aus dem ersten Kontrollkästchen wäre also e.data.title. Das zweite Kontrollkästchen wäre e.data.lol. Die name des Formularelements ist der Schlüssel für das e.data.-Objekt.

Werte überprüfen

Nun in der Funktion onsubmit(); Wir können testen, ob jedes Kontrollkästchen einen wahren oder falschen Wert enthält. und entsprechend codieren.

Gesamter Code

Hier ist der gesamte geänderte Code:

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

Möglicherweise möchten Sie die Variable send_to_editor an Ihre Anforderungen anpassen.

2
josh