Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

usando EDITOR no form + AJAX POST

12-12-2007 12:08

Olá, consegui editar um script de um editor de texto para ser usado no form, ficou excelente, ele envia o conteudo formatado em html.

Para ficar melhor ainda quero usa-lo com AJAX, mas precisa ser enviado por POST, mas não funcionou.
O editor usa uns comandos javascript que cria o campo onde aparece o conteudo formatado.

Coloquei o script com o editor, as img, o form, só não tem a pagina que recebe. O script ta no link:

http://rapidshare.com/files/76058504/post-ajax.rar.html

Tem como usar AJAX para receber as informações?
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

usando EDITOR no form + AJAX POST

12-12-2007 22:21

Consegui fazer as adaptações para o IE, mas, encontrei um bug para o FireFox, onde no retorno do resultado no AJAX, não tá retornando as configurações feitas, tipo negrito, itálico, etc...
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

usando EDITOR no form + AJAX POST

13-12-2007 09:37

Hum. que coisa.

O motivo é pq na verdade ele não inicia com o campo criado né, para o ajax capturar o valor, meio complicado este script.

Sera que talvez evitando usar os scripts que criam o campo, e inserindo tudo direto no codigo html, deixando em javascript so as funções que formatam o texto, talvez funcione né?

Vou ver isto aqui.

Quanto ao bug no FF, é por causa dos comandos que vc usou para capturar o texto formatado? Sem ajax ele funciona no FF né.
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

usando EDITOR no form + AJAX POST

13-12-2007 17:33

Descobrir o problema no FireFox, é porque quando eu enviava os dados eles vinham assim:
<font style=\"...\" e por causa disso, as configurações não apareciam no FF, somente o texto, ai usei:
print(stripcslashes($_POST['texto']));

Agora, veja as alterações que fiz com base no script que você passou:

form.php
<script language="JavaScript" type="text/javascript" src="wysiwyg.js"></script> <script type="text/javascript"> var http_request = false; function makePOSTRequest(url, parameters) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anticipated content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('POST', url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", parameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(parameters); } function alertContents() { if (http_request.readyState == 4) { if (http_request.status == 200) { result = http_request.responseText; document.getElementById('myspan').innerHTML = result; } else { alert('There was a problem with the request.'); } } } function get() { var campo = document.form; var poststr = "texto=" + document.getElementById('wysiwygtextarea').contentWindow.document.body.innerHTML; makePOSTRequest('resultado.php', poststr); } </script> <form name="form" method="POST" action=""> <textarea id="textarea" name="test" style="height: 200px; width: 318px;"></textarea> <script> generate_wysiwyg('textarea'); </script> <input type="button" value="Envia" onclick="javascript:get();"> </form> resultado: <div id="myspan"></div>

Agora o resultado.php, que vai ser carregado pelo AJAX mostrando o que foi digitado.

resultado.php
<?php print(stripcslashes($_POST['texto'])); ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

usando EDITOR no form + AJAX POST

13-12-2007 19:03

blz Web, vc domina mesmo esta coisa.

só alterei duas coisas pq tavam com erro.
function get() { var campo = document.form; var poststr = "texto=" + escape(document.getElementById('wysiwygtextarea').contentWindow.document.body.innerHTML); makePOSTRequest('resultado.php', poststr); } </script>

no final do script AJAX, inseri o "escape" pq qdo usa dois enters (<p></p><p></p>) o script cria esta função, de algum modo ela não é passada e entao so chega o conteudo antes de onde foi usado dois enters.

O escape resolveu isto, ai chega com erro de acentuação, aquele velho probleminha do AJAX,então foi so inserir

<?php
header("Content-Type: text/html; charset=ISO-8859-1",true)
?>

no inicio do resultado.php que tudo ficou perfeito,

Blz, valeu
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

usando EDITOR no form + AJAX POST

13-12-2007 19:09

vlw :)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado