Ir para conteúdo

POWERED BY:

Arquivado

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

horacio2009

[Resolvido] preenchendo valor do input...

Recommended Posts

Bom dia a todos!!

tudo bem por aí, pessoal?

galera, seguinte...

eu tenho esse script

<script type="text/javascript"> 
$(document).ready(function(){
$('#operador').change(function() {
var operador = $('select[name="operador"]').val();
$.get('selecionaDados.php', 
	{ operador: operador },
		function(data) {
		$('#resultado').html(data);
		},
		'html');
		return false;
});	
})
</script>

ele vai no arquivo em questão e retorna a variável "cliente"...ok...

só que eu quero com essa variável e preencher a variavel "cliente"(é um input type text...)como eu faço, pessoal???

Muito obrigado a todos!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi, basta trocar:

$('#resultado').html(data);

por:

$("input[name='cliente']").val( data );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, funcionou certinho!!! muito obrigado!!!

mas agora, acabei tendo outra dúvida...

E se eu levantar no arquivo "selecionaDados.php" também as variaveis "telefone" e "codigo", para preencher o inputs "telefone" e "código"? é muito mais complicado???

Mais uma vez, obrigado mesmo, Willian!!!

Grande abraço!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao.. ai eu te sugiro retornar um jSON, e percorrendo esse jSON preencher os outros inputs que você precisar.

exemplo:

http://www.wbruno.com.br/blog/2009/08/26/combobox-preenche-input-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, dá uma olhada aqui:

<script type="text/javascript"> 
$(document).ready(function(){
$('#operador').change(function() {
var operador = $('select[name="operador"]').val();
$.get('selecionaDados.php', 
	{ operador: operador },
		function(data) {
		//$('#resultado').html(data);
		//$("input[name='cliente']").val( data );
    //*****************************************************************
			$.getJSON(  
                    'dados.php',  
                    { operador: $( this ).val() },  
                    function( json )  
                    {  
                        $( cliente ).val( json.nome );  
                        //$( telefone ).val( json.telefone );  
                    }
      //*****************************************************************

	},'html');

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


 

e o arquivo que faz a pesquisa:

<?php
$operador=$_GET['operador'];
//echo"$operador";
    function retorna( $operador )  
    {  
        $id = (int)$id;  

        $sql = "SELECT * FROM `negociacao` WHERE `capture` = {$operador} ";  
        $query = mysql_query( $sql );  
        $arr = Array();  
        if( mysql_num_rows( $query ) )  
        {  
            while( $dados = mysql_fetch_object( $query ) )  
            {  
                $arr['nome'] = $dados->nome;  
                $arr['telefone'] = $dados->telefone;  
            }  
        }  
        else  
            $arr[] = 'endereco: não encontrado';  
           return json_encode( $arr );  
    }  


?>

 

Mas ainda não tá saindo...onde eu está errado???

Desculpa, não conheço muito de jquery/script ou arvores de elemento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e de php ?

 

$operador=$_GET['operador'];
//echo"$operador";
    function retorna( $operador )  
    {  

okay... mas cade a chamada da funcao ?

você criou a variavel, declarou a funcao, mas nao chamou ela.

 

para esse tipo de debug, acesse o arquivo diretamente:

 

localhost/dados.php?operador=2 veja se aparece erros php, ou o jSON correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, Willian, eu enviei o valor do operador, no caso 87 e ele imprimiu como esperado...

aí, para fins didáticos(tenho que estudar, não tem jeito, mesmo...)eu copiei seu código e adptatei para os meus dados e ficou assim:

 


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

    <script type="text/javascript">  
    $(document).ready(function(){  
        $("select[name='operador']").change(function(){  

            $( cliente ).val('Carregando...');  
            $( telefone2 ).val('Carregando...');  

                $.getJSON(  
                    'dados.php',  
                    { operador: $( this ).val() },  
                    function( json )  
                    {  
                        $( cliente ).val( json.cliente );  
                        $( telefone ).val( json.telefone );  
                    }  
                );  
        });  
    });  
    </script>  

só que nem aparece a mensagem de carregando...e conferi, tanto a id, como o nome do campo é operador...o que tá errado????

novamente, obrigado pela atenção com meu problema!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui:

             $( cliente ).val('Carregando...');  
            $( telefone2 ).val('Carregando...'); 

espera-se que você tenha variaveis, uma chamada cliente, e outra telefone2

 

mas cade elas? :lol:

 

ou seja, você se esqueceu dessas linhas aqui:

var telefone = $("input[name='telefone']"); 

7 e 8 do meu script

 

você ta indo bem cara.

mas qndo for 'tirar' algo, entenda oq você tirou.. hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, vamos lá!!

    <script type="text/javascript">  
    $(document).ready(function(){  
        $("select[name='operador']").change(function(){  
        var telefone2 = $("input[name='telefone2']"); 
	 var cliente = $("input[name='cliente']");

            $( cliente ).val('Carregando...');  
            $( telefone2 ).val('Carregando...');  

                $.getJSON(  
                    'dados.php',  
                    { retorna: $( this ).val() },  
                    function( json )  
                    {  
                        $( cliente ).val( json.nome );  
                        $( telefone2 ).val( json.telefone2 );  
                    }  
                );  
        });  
    });  
    </script>  


aqui voltou a funcionar!!! você tinha razão!!!! eu tirei pq achei que ele era responsável pelo envio dessas informações, como não queria enviar nada, além do select, resolvi tirar...!!!

Mas enfim...supondo que o JS esteja certo,e por favor, pode corrigir se tiver errado, beleza?

vamos ao php...

eu peguei e limitei isso a uma função, para retornar o array com base no número do operador, então, fiz assim:

porque?

eu apenas enviei o numero do operador como parametro de pesquisa, dentro de uma função...ela gera uma array e retorna nos campos...

<?php
$operador=$_GET['operador'];
 function retorna( $operador )  
    {  
        $operador = (int)$operador;  

        $sql = "SELECT * FROM `negociacao` WHERE `capture` = {$operador} ";  
        $query = mysql_query( $sql );  
        $arr = Array();  
        if( mysql_num_rows( $query ) )  
        {  
            while( $dados = mysql_fetch_object( $query ) )  
            {  
                $arr['nome'] = $dados->cliente;  
                $arr['telefone2'] = $dados->telefone;  
            }  
        }  
        else  
            $arr[] = 'endereco: não encontrado';  
           return json_encode( $arr );  
    }  


?>

mesmo assim, ainda não foi!!!

obs.: preciso estudar mais isso!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao amigo, faltou você chamar a funcao php: (coisa que eu ja tinha alertado no post #6)

 

echo retorna( $_GET['operador'] );

:lol:

fez o teste de acessar direto ? a pagina ficou em branco ne?! nao apareceu nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente tinha a função dados que eu não estava chamando, e mexi mais um pouco no código....deixei ele assim:

<?php
$operador=$_GET['operador'];
function dados($operador)  
{  
        $sql = "SELECT * FROM negociacao WHERE capture = $operador";  
        $query = mysql_query( $sql );  
        $arr = Array();  
        if( mysql_num_rows( $query ) )  
        {  
            while( $dados = mysql_fetch_object( $query ) )  
            {  
                $arr['nome'];  
                $arr['telefone2'];  
            }  
        }  
        else  
            $arr[] = 'endereco: não encontrado';  
           return json_encode( $arr );  
}  

?>

Nesse caso , só tem essa função mesmo...aí, eu chamo ela pela linha do JS

   $.getJSON(  
                    'dados.php',  
                    { dados: $( this ).val() },  
                    function( json )  
                    {  
				     $( cliente ).val( json.nome );  
                        $( telefone2 ).val( json.telefone2 );  
                    }

agora, a unica funçao em php que tem, e a dados...mesmo assim, nada... :(

o que tá faltando agora????

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao existe isso de 'chamar funcao php por js'

 

falta essa linha aqui:

echo retorna( $_GET['operador'] );

ou

echo dados( $_GET['operador'] );

 

whatever, nao importa o nome da funcao.

a chamada da funcao php, deve estar no php

Compartilhar este post


Link para o post
Compartilhar em outros sites

parei de trabalhar no meu script adaptado do seu e estou com uma copia fiel do seu script...vamos lá

( adiantando...o erro é o mesmo...)

 

<html>  
<head>  

<script type="text/javascript" src="../jquery/jquery.js"></script>
    <script type="text/javascript">  
    $(document).ready(function(){  
        $("select[name='operador']").change(function(){  
            var cliente = $("input[name='cliente']");  
            var telefone2 = $("input[name='telefone2']");  

            $( cliente ).val('Carregando...');  
            $( telefone2 ).val('Carregando...');  

                $.getJSON(  
                    'function.php',  
                    { idCliente: $( this ).val() },  
                    function( json )  
                    {  
                        $( cliente ).val( json.cliente );  
                        $( telefone2 ).val( json.telefone2 );  
                    }  
                );  
        });  
    });  
    </script>  
</head>  
<body>  
    <form action="" method="post">  
        <label>Nome: <select name="operador">  
            <option value="">--</option>  
<?php  
    include 'function.php';  
    echo montaSelect();  
?>  
        </select></label>  
        <label>Endereço: <input name="cliente" type="text" disabled="disabled" value="" /></label>  
        <label>Telefone: <input type="text" name="telefone2" value="" /></label>  
    </form>  

    <div id="test"></div>  
</body>  
</html> 

 

 

 

 

o function.php

    <?php  

       $con = mysql_connect('******', '******', '******');  
       mysql_select_db('******', $con);  

       /** 
        * função que retorna o select 
        */  
       function montaSelect()  
       {  
	//codigo_venda  =codigo_venda 

	   $sql = "SELECT codigo_venda, nome FROM dados_controle";  

	   $query = mysql_query( $sql );  
          $linhas =mysql_num_rows($query);
           if( mysql_num_rows( $query ) > 0 )  
          {  
             while( $dados = mysql_fetch_assoc( $query ) )  
              {  
                  $opt .= '<option value="'.$dados['codigo_venda'].'">'.$dados['nome'].'</option>';  
              }  
          }  
          else  
              $opt = '<option value="0">Nenhum cliente cadastrado - </option>';  

          return $opt;  
      }  

      /** 
       * função que devolve em formato JSON os dados do cliente 
       */  
      function retorna( $id )  
      {  
          $id = (int)$id;  

         $sql = "SELECT * FROM negociacao WHERE capture = {$id} ";  
         $query = mysql_query( $sql );  

         $arr = Array();  
          if( mysql_num_rows( $query ) )  
         {  
              while( $dados = mysql_fetch_object( $query ) )  
              {  
                  $arr['nome'] = $dados->cliente;  
                  $arr['telefone'] = $dados->telefone;  
              }  
          }  
          else  
              $arr[] = 'endereco: não encontrado';  

          return json_encode( $arr );  
      }  

  /* só se for enviado o parâmetro, que devolve o combo */  
  if( isset($_GET['codigo_venda']) )  
  {  
     echo retorna( $_GET['codigo_venda'] );  
  }  

 

meu, isso tá quebrando minha cabeça, mas eu sei que com uma forcinha aqui, eu consigo resolver isso!!!

mas que tá soda, tá...rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe, assim fica dificil cara.. cada hora um script, logo cada hora um erro.

 

 { idCliente: $( this ).val() },

ou seja, você está enviando um parametro chamado idCliente

 

e aqui você tenta recuperar algo totalmente diferente:

if( isset($_GET['codigo_venda']) )  

dessa forma não vai funcionar nunca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, arrumei aquelas variáveis e agora deu certo!!!

Muito obrigado pela atenção e principalmente paciência comigo, beleza???

Muito obrigado mesmo!!!!

Grande abraço, amigo!!!!

Horácio

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.