Jump to content

$_POST['editor1'] não funciona


JosMiguel
 Share

Recommended Posts

Boas.

pessoal precisava de uma pequena ajuda por causa do ckeditor e um $_post da sua textarea.

É o seguinte:

o que estou a tentar fazer é, recolher o conteúdo escrito num editor html, chamado ckeditor, e envia-lo via ajax para uma página php para armazenar na base de dados.

para isso tenho o código assim:

numa página php, tambem carregada dinamicamente tenho o design:

<textarea id='editor1' name='editor1'></textarea>

na página principal, onde efetuo o carregamento da anterior tenho:(apenas o k interessa para aqui)

//A função abaixo carrega o editor para a minha textarea.
<script type="text/javascript">
function carregaEditor()
{
CKEDITOR.replace( 'editor1',
{

});
}

</script>

quando faço o submit() por ajax:

<script>
function saveData()
{

$('#sendMsgForm').ajaxForm({

success : function (response) {

alert(response);


}
}).submit();
}
</script>

recebo em outra pag php o suposto conteudo da textarea:

<?php
$textArea = $_POST[ 'editor1' ];
echo $textArea;
?>

contudo independentemente do que escreva dentro do editor html retorna-me sempre vazio a variavel $textArea.

será um problema de configuração do ckeditor.?

reparei k no design, onde crio a textarea, se entre tags <textarea> escrever algo aqui </textarea>, a variavel $textArea já recebe o conteúdo..

alguem me pode ajudar.?

cumprimentos

Link to comment
Share on other sites

alterei então o código por este metodo:

<script>
function processaMail()
{
 $.ajax({
 type: 'POST',
 url: 'enviaMsgEletronica.php',
 data: $('#sendMsgForm').serialize(),

 success: function (data) {

alert("resposta: "+data);
	 }
 });
}	
</script>

continua a n receber nada da text area

Link to comment
Share on other sites

então só estou a ver uma situação ...

deverás ter algum erro de javascript que está a estoirar o script do ckeditor na sua inicialização.

o teu problema está na maneira como o ckeditor faz para "trocar" o input/textarea pelo editor. ele esconde o input e cria um iframe nesse local com os elementos do editor. logo, como o texto está dentro do iframe, não é enviado pelo formulário.

vai à consola de desenvolvimento do teu browser e verifica se não existem erros de javascript

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

não aparecem erros. está tudo ok.

também chego a conclusão que só pode ser do ckeditor.

se na parte do design, entre tags, escrever algum texto

 <textarea>AAA</textarea>

, e testar, recebo no $_POST o texto AAA.

por isso só pode ser na maneira como o ckeditor associa o conteúdo escrito à textarea.

Também no browser, se "inspecionar o elemento", está realmente dentro de um iframe como falaste. Escalando pelo código a baixo, o conteúdo escrito vai-se encontrar dentro do <body>

Link to comment
Share on other sites

Obvio. claro que está. :-)

será que tem alguma influência o facto de a página onde está a textarea, ser carregada por ajax.?

o que faço é:

após carregamento da página (para uma <div>), executo o script

CKEDITOR.replace( 'editor1' );
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.