Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

valdoml

[Resolvido] Jquery.post + CKeditor

Recommended Posts

Pessoal boa tarde, sei que não gostam muito de responder perguntas de novatos, mais não eu estaria aki se realmente não estivesse com um problema a alguns dias, desde já agradeço a compreensão,

 

estou com o seguinte problema, possuo um formulário e gostaria que os dados fossem passados pra uma outra página e me retornassem com uma certa verificação, utilizando a função .post do jquery.

Acontece que um dos dados do formulario é um textarea utilizando a biblioteca CKeditor, os dados que são digitados nela não passam na primeira vez que o botão submit é acionado. Somente na segunda vez. Se a biblioteca for retirada os dados passam normalmente.

 

Segue os códigos das duas páginas (teste.php e teste2.php) e o site para baixar o CKeditor.

Clique aqui

 

teste.php

       <script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
       <script type="text/javascript" src="/jquery.js"></script>
       <script type="text/javascript">
           $(document).ready(function() {
               $('#form_sitio_2').submit(function() {
                   var testearea = $("#testearea");
                   var teste = $("#teste");
                   $.post("teste2.php",{
                       testearea:testearea.val(),
                       teste:teste.val()
                   },
                   function(data){
                       $("#resposta").html(data);
                   }
                   , "html");

                   return false;
               });
           });
       </script>

   <form action="#" method="post" id="form_sitio_2">
       <div style="width:1000;"><textarea id="testearea" class="ckeditor"></textarea></div>
       <div>Teste:<input type="text" id="teste" value="" /></div>
       <div ><input type="submit" value="teste" name="submit" /></div>
       <div id="resposta"></div>
   </form>


teste2.php


<?php
echo "<div>INPUT:". $_POST['teste']."</div>";

echo "<div>TEXTAREA:".$_POST['testearea']."</div>";
?>

Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! bem vindo ao fórum!

 

somos todos iniciantes cara..

oq acontece, é que para resgatar o conteudo do editor, você não pode mais usar a forma: testearea.val(), pois o elemento foi 'trocado'.

 

para dar certo, você precisa ver na documentação da ferramenta:

http://docs.cksource.com/

 

a forma correta.

pelo que vi aqui, você consegue com o metodo getData():

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#getData

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tentei fazer como você falo mais não de certo, o jquery não identifica o getData() como uma função dele da erro no script, descobri tbm que isso so ocorre no firefox, no I.E funciona normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não identifica pq realmente não é uma função do jquery.

 

é uma função da lib do editor.

você precisa usar o getData() apartir dos códigos do editor, usando o instanciamento q você já fez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willam Bruno, consegui muito obrigado vou postar aki como ficou o script caso alguém tenha a mesma dúvida.

 

<script type="text/javascript">

           $(document).ready(function() {

               $('#form_sitio_2').submit(function() {


                   var testearea = CKEDITOR.instances.testearea.getData();

                   var testearea = $("#testearea");
                   var teste = $("#teste");
                   $.post("teste2.php",{
                       testearea:testearea,
                       teste:teste.val()
                   },
                   function(data){
                       $("#resposta").html(data);
                   }
                   , "html");

                   return false;
               });
           });

       </script>

 

 

Isso tbm ocorre no tinyMCE pra resolver é assim

 

  var testearea = tinyMCE.get('testearea').getContent(); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente =)

 

Parabéns.

No TinyMCE eu já tinha até feito um post no meu blog:

http://wbruno.com.br/2011/04/05/resgatar-conteudo-de-editor-rico-tinymce/

 

só não postei, pq não sabia q você ia usar ele tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeitooooooo!!!!

 

Poxa, procurei para caramba isso.

Estava tendo passar o textarea via .getJson e não ia, com esse seu post deu certo.

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.