PHP - Variável POST não recebe valor de textarea com CKEditor.
11/02/2020
0
Pessoal, preciso de uma ajuda pois já quebrei a cabeça e pesquisei em todos os lugares...
A minha página funciona perfeitamente com um textarea comum, mas, com o CKEditor não. Segundo a documentação do CKEditor, quando se utiliza o "CKEDITOR.replace", quando o formulário é enviado, todos os dados do CKEditor passam para o próprio textarea que ele deu replace.
Abaixo, um exemplo da minha página:
O botão envia as informações para uma function ''Load'', passando os dados por POST do formulário para a página ''addnotice'', exibindo o resultado na DIV de ''result''.
O Load:
O código HTML:
Como eu disse, o textarea comum passa normalmente o valor para a variável, mas o CKEditor, que deveria passar o valor para o textarea, não está fazendo isso.
Se alguém souber, ou pelo menos puder indicar uma direção, já vai ajudar muito!
A minha página funciona perfeitamente com um textarea comum, mas, com o CKEditor não. Segundo a documentação do CKEditor, quando se utiliza o "CKEDITOR.replace", quando o formulário é enviado, todos os dados do CKEditor passam para o próprio textarea que ele deu replace.
Abaixo, um exemplo da minha página:
O botão envia as informações para uma function ''Load'', passando os dados por POST do formulário para a página ''addnotice'', exibindo o resultado na DIV de ''result''.
O Load:
function Load(url, div, tipo, campos) { var ajax = null; if(window.ActiveXObject) ajax = new ActiveXObject(''Microsoft.XMLHTTP''); else if(window.XMLHttpRequest) ajax = new XMLHttpRequest(); if (ajax != null) { var cache = new Date().getTime(); ajax.open(tipo, url + "&cache=" + cache , true); ajax.onreadystatechange = function status() { if(ajax.readyState == 4) { if(ajax.status == 200) { document.getElementById(div).innerHTML = ajax.responseText; var texto=unescape(ajax.responseText); extraiScript(texto); } } else if(ajax.readyState == 0) document.getElementById(div).innerHTML = ''<img src="images/load.gif">''; } if (tipo == "POST") { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); ajax.setRequestHeader("Pragma", "no-cache"); ajax.send(campos); } else { ajax.send(null); } } }
O código HTML:
<form name="testeck" id="testeck" method="post"> <textarea id="editor1" name="editor1"></textarea> <input type="button" value="Adicionar" onclick="Load(''?send=addnotice'', ''result'', ''POST'', Form(''testeck''));" /> </form> <div id="result"></div> <script> CKEDITOR.replace(''editor1''); </script>
<?php $editor1 = $_POST[''editor1'']; ?>
Como eu disse, o textarea comum passa normalmente o valor para a variável, mas o CKEditor, que deveria passar o valor para o textarea, não está fazendo isso.
Se alguém souber, ou pelo menos puder indicar uma direção, já vai ajudar muito!
Gustavo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)