Ir para conteúdo

POWERED BY:

Arquivado

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

visitante_xp

[Resolvido] $.post com callback de elementos

Recommended Posts

Iae galera.

 

To fazendo uns testes aqui com a função $.post do Jquery e gostaria de tirar algumas duvidas.

 

A primeira delas é: O que eu posso usar para substituir a função createElement do Javascript?

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada ^_^

 

pra quê substituir ? ela já é tão boa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rsrs...

 

Bom, era uma bobera, ja mudei a "tatica"...

 

To usando o html(); o problema é que ele não ta me retornando a formatação.

 

Sabe como da pra resolver isso.

 

PS: A ideia inicial era de ter um div e colocar a resposta do servidor lá. A unica maneira que eu enxerguei for a de criar um elemento filho dentro desse div pai mas achei essa função e funfo.

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

To usando o html(); o problema é que ele não ta me retornando a formatação.

 

hein?! :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho ^^

mas aparece as tags HTML como texto ? não ?

 

isola essa problema, e posta.. pois isso é algum detalhe ou falha que você deixou.. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele só exibe o texto puro, mas sem nem mesmo mostrar as tags html por escrito.

 

Isolei e ele exibe normalmente em bold.

 

To fazendo assim:

 

<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $("#texto").keyup(function(){
  var Nome = $("#texto").val();
  $.post("zzz.php", {texto:Nome}, 
  	function(nome){
   	$("#Conteudo").html(nome)
  });
 });
});
</script>

E no servidor:

 

$str=$_POST['texto'];
$sql="SELECT * FROM clientes.empresa WHERE nome_empresa LIKE '%$str%'";
$query=mysql_query($sql) or die(mysql_error());

$nome=mysql_result($query, 0, "nome_empresa");

$string = preg_replace( '/($str)/', '<strong>\\1</strong>', $nome );
echo $string;

Isolando funcionou...

 

A probabilidade de eu estar errando é de 99%...XD...Nunca tinha trabalhado com $.post antes.

 

O arquivo ta errado mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, reescrevendo o teu código, para algo mais legível..

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("input[name='texto']").keyup(function(){
		var Parte = $( this ).val();
		$.post(
			"zzz.php", 
			{texto:Parte}, 
			function( data ){
				$("#Conteudo").html( data );
			});
	});
});
</script>

	<input type="text" name="texto" />
	<div id="Conteudo"></div>
a parte server-side, deixo a teu encargo:

zzz.php

<?php


	echo '<strong>',$_POST['texto'],'</strong>';

dê um alert:

function( data ){
				alert( data );
e veja como retorna.

 

ps: se o HTML vindo do servidor está correto.

70% do teu erro estar no CSS ^_^ , veja pelo Firebug, como ficou o HTML, e se tem alguma propriedade css sobrescrevendo o estilo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagem Postada

 

Não tenho folha de estilo alguma na pagina. Essa pagina é só de testes...^^

 

Dei alert(); e ele retorna as tags <br /> mas nada do <strong>...

 

O sistema tem que me voltar um conjunto de caracteres em negrito acada digito, tipo o plugin autocomplete sabe. Eu não teria resultado se voltasse apenas a string enviada em bold.

 

Sera que eu não errei foi no callback não?

 

Tentei um str_replace(); para fazer negritar só as partes que eu queria mas ainda assim não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, o callback javascript, não tem nada a ver então. O erro está no server-side.

 

( os outros 30% ^^ )

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.