Ho un gruppo di campi in stile "ripetitore" in una pagina di opzioni personalizzate. C'è un editor visivo attivo in uno stato nascosto e quando l'utente fa clic su "aggiungi nuovo" viene clonata l'intera riga. Devo quindi inizializzare l'editor visivo nella riga clonata. Il mio codice:
$('.repeater-add-new').click(function(event) {
event.preventDefault();
var target = $(this).data('repeater');
$( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse();
var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone');
rebuildIndex(target);
// Initialize editors if needed
newRow.find('.wp-editor-wrap').each(function(index, el) {
var ed_id = $(this).find('textarea').attr('id');
tinymce.init(tinyMCEPreInit.mceInit[ed_id]);
tinymce.execCommand('mceAddEditor', false, ed_id);
quicktags({id : ed_id});
});
});
Schermata dell'interfaccia:
Quando la pagina viene caricata, viene visualizzato l'errore della console:
Uncaught TypeError: impossibile leggere la proprietà 'onpageload' di undefined
E ovviamente l'editor non funziona. Dopo aver salvato la pagina, ovviamente, funziona benissimo, ma ho bisogno che funzioni anche quando viene aggiunta la riga.