Ir para conteúdo

POWERED BY:

Arquivado

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

Giihh

Pegar valor do input - Ajax (Json) e PHP

Recommended Posts

Olá,

 

Tenho um form e preciso que ao digitar um texto no input o conteudo desse texto seja recebido em tempo real em uma variavel php na mesma página.

 

Pelo que entendi a melhor forma de fazer isso é utilizando Ajax Json, mas não entendi exatamente a sequencia que devo seguir:

 

exemplo:

 

teste.php

<head>
<script type="text/javascript" src="teste_ajax.js"></script>
</head>

<form method="POST">
   <input type="text" name="umName"  id="umID" onchange="aFunction()" value "">
</form>


<?php

// no mesmo arquivo. Aqui um script que para funcionar precisa do valor do input em tempo real

$recebe = 'deve ter o que vier do input';

?>

valordoinput.php

<?php
   $input = "texto que tiver"; // como passar o valor do input pra ca??????
   echo json_encode($input);
?>

teste_ajax.js

//Quando o Documento HTML estiver carregado
jQuery(document).ready(function(){
   .change(function(){
      //Requisição Ajax
      jQuery.ajax({
         url: "valordoinput.php", //URL de destino
         dataType: "json", //Tipo de Retorno
         success: function(json){ 

               //como recuperar o valor do input aqui????             
         }
      });
   });
});

Não entendi muito bem a sequencia e como capturar o valor automaticamente.

 

Agradeço ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada JoaoCardoso Angular.js ta na lista de estudo, mas nesse caso preciso aprender mesmo como trabalhar com o jquery (ou javascript), com ajax e php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa definir onde irá aparecer o resultado do json, veja um exemplo

success: function(json){ 

    $("#id_div").append(json);

}


<div id="id_div"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, mas não quero exibir o resultado em nenhuma tag html, a variavel $recebe tem que ter o resultado do json sem nenhuma tag html, só o que esta sendo digitado no input

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já te passei. Agora cabe à você decidir onde quer exibir o resultado. Todo o tratamento deve ser feito em valordoinput.php e depois o retorno será enviado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa parte que você disse:

 

mais do javascript pra o PHP não, só através de retorno.

 

Entendi que é possivel passar do javascript para o PHP somente através de retorno, parece que interpretei errado.

Já que todos até mesmo o ultimo exemplo que mandou é (aparentemente) de PHP -> javascript -> exibição no html.

 

Preciso do processo contrario: HTML (input) -> javascript -> PHP ($recebe = 'valor que estiver no input em tempo real')

 

Deve ser possivel, mesmo sendo client-side (html e Javascript) e server-side (PHP).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente ;)

 

 

Acho que você não consegue compreender, mais vou te dar uma breve explicação do porque que não funciona valor javascript direto no PHP. PHP como você deve saber é server-side, significa que suas informações são processadas e enviadas ao cliente. Dessa forma, é impossível um valor javascript ser inserido diretamente em uma variável PHP sem que passe pelo processo. A única maneira é enviando o valor dela via post ou get para que seja processada e gerada o retorno. Não há necessidade de fazer o que você quer, além do que não dará certo, pois a variável PHP que possivelmente teria o valor de sua variável javascript SEMPRE será processada no servidor, logo ela irá vazia sem qualquer valor passado. Deu pra compreender ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Giihh, vou repetir novamente, NÃO TEM COMO passar valor de javascript pra PHP, sem que o php interprete e devolva ao cliente as informações. O que tu encontrou nada mais é do que um tratamento de retorno json.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada Alaerte Gabriel, voltando a ver sobre isso agora, me ajuda a achar uma solução viável? O que pretendo fazer é o seguinte:

 

Utilizo a biblioteca GD do PHP para criar imagens e esta funcionando tudo OK e salvando no diretório indicado, mas antes de salvar a imagem definitivamente quero visualizar as alterações que estão ocorrendo.

 

Valores das variáveis como $texto, $paddingX e $paddingY devem ser informados no lado client-side. Possibilitando ver em tempo real as modificações na imagem no lado server-side. Esse é o meu objetivo.

 

Nas suas explicações entendi: Passar variavel javascript DIRETAMENTE para PHP não é possivel, pois precisa ter um processamento do PHP.

 

Pensei no seguinte comportamento:

 

No javascript ao invés de submit usar on.change a cada alteração, e essas alterações acontecerem no arquivo teste.json que esta no servidor

<form method="POST">
  Titulo <input type="text" onchange="Function()">
   X <input type="text" onchange="Function()">
   Y <input type="text" onchange="Function()">
</form>

arquivo teste.json

{
	"teste":[	
		{
			"titulo" : "",
			"valorx" : "",
			"valory" : ""		
		}	
	]
}

Mas ok já entendi, javascript e PHP estão em lados diferentes. Uma sugestão para alterar o arquivo no servidor a cada alteração (on.change ou similar)???

 

 

Ai no php para recuperar os valores utilizo:

$jsondados = file_get_contents("teste.json");
$json = json_decode($jsondados,true);

Com isso vou poder capturar os valores do array que esta na variável $json, ai pronto já tenho os valores que quero para as varáveis no GD.

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.