Não sei por que não consegui encontrar isso, mas alguém sabe como obter a entrada do editor TinyMCE? Estou usando-o no front-end e quero salvar o que o usuário digitou no TinyMCE em um banco de dados, mas não consegue encontrar a melhor maneira de capturar esse valor.
As duas soluções que implementei com algum sucesso são:
tinyMCE.activeEditor.getContent();
- Este parece obter apenas o valor do editor visual; portanto, se eu estiver no editor de HTML e fizer alterações e depois salvar, elas não serão captadas.$('#html_text_area_id').val();
- Este é o oposto, parece apenas obter o valor do editor de HTML.
Eu sei que existe uma maneira melhor - eu simplesmente não consigo encontrá-la ...
ps Sim, vou implementar medidas de segurança para garantir que as pessoas não possam explodir o banco de dados.
val()
Respostas:
Ok, aparentemente, o WordPress controla que tipo de editor (visual ou html) está ativo como uma classe que é adicionada ao wrapper de conteúdo, então aqui está uma solução que fornecerá o conteúdo mais recente no editor
fonte
Esse é o código que adicionei ao meu javascript, logo antes do envio do formulário.
fonte
Isso funcionou para mim:
Onde description é o ID do editor de tim-tim e código após o resto da resposta aceita, não funcionou para mim.
fonte
Eu precisava de muito mais código para fazê-lo funcionar, e também estava recebendo um erro de javascript:
Deprecated TinyMCE API call: <target>.onKeyUp.add(..)
isso foi causado por uma atualização do wordpress de 3.x para 4. Então eu tive queclear my browser cache
primeiro.Em primeiro lugar, adicionei um retorno de chamada ao filtro wp
tiny_mce_before_init
no meu arquivo functions.php, isso me permitiu adicionar uma função de retorno de chamada js a ser acionada quando os editores são inicializados:Em seguida, a função javascript faz o que for desejado com o conteúdo quando ele for alterado. Adicione esse javascript usando wp_enqueue_scripts à página que você deseja.
O código funcionou quando usei o seguinte para imprimir o editor em qualquer página:
fonte
Você pode obter o conteúdo, dependendo do modo atual do editor.
A guia Visual possui uma classe
switch-tmce
que você pode usar para identificá-la como uma guia. Você saberia que ele foi focado se tiver a cor de fundo mais clara. Portanto, você também pode usá-lo para determinar qual das duas guias está ativa.Esta é uma solução adaptativo baseado em Bainternet de resposta . Provavelmente existem outras maneiras melhores de fazer isso, mas essa funcionou bem para mim.
fonte
Você também pode usar o
addeditor
evento:Documentação de evento 'additor' do TinyMCE
fonte