Ir para conteúdo

Arquivado

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

Creedence

Preencher um campo text do form automaticamente apos outro campo preen

Recommended Posts

Boa tarde !

 

Tenho um formulário numa pagina php e precisaria que um campo text (aliquota) fosse preenchido automaticamente após informar em outro campo text um determinado valor (km rodado). Apos essa informação de km rodado, o sistema vai buscar numa tabela mysql o valor da aliquota e jogaria automaticamente no campo text (aliquota) informado acima.

 

Ex.:

 

Informe a Distancia Percorrida (km) .......

Aliquota sugerida ...... ( informa automaticamente apos consultar a distancia percorrida na Base Dados. )

 

Obrigado,

 

Marcos

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível fazer isso com ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os modelos que encontrei são basicamente de select (Estado / Cidades).

Eu preciso entrar com um valor num campo texto e o sistema atualizar outro campo texto baseado numa consulta num banco de dados.

Dentro do que verifiquei montei um modelo de teste pra saber se o caminho seria esse mesmo, caso possam me orientar.

No mesmo arquivo formteste.php eu tenho todo o código (form, script e php). Deve faltar muito complemento mas preciso entender melhor.

 

Qualquer ajuda é bem vinda.

 

Obrigado,

 

 

*****************

<!DOCTYPE html>
<html>
<head> </head>
<body>
 
<!-- Parte do Formulario -->
<form method="post" action="">
    Informe KM rodado.: <input type="text" name="kmrodado" id="kmrodado"><br>
        Aliquota.: <input type="text" name="aliquota" id="aliquota" value=""><br>   <!-- (aqui o valor atualiza automatico)-->
 
    <input type="submit" name="enviar" value="enviar">
</form>
 
 
<!-- Modelo do Script ( Imagino que falta codigo -->
<script type="text/javascript" >
$function(){
$("#kmrodado").change(function(){
var km=$(this).val();
$.ajax({
type: "post"
url: "formteste.php?km="+km
});
});
};
 
</script> 
 
<!-- Codigo de pesquisa no BD (a consulta funciona normal.Só não sei como jogar o resultado campo do form) -->

<?php
include("conecta.php");
$sql = "SELECT * FROM tabela WHERE fv_kminicio <= '$dp' AND fv_kmfim >= '$dp'"; 
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);
$row = mysql_num_rows($query);
 
if ($row!=0) {
   $aliqfvalor = $linha['fv_percentual'] / 100;
   $fretevalor = ($valcarga * $aliqfvalor)/100;
  }
?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha.

 

você cria uma rotina que ao deixar o campo, ele atribiu um value no campo em questão.

Exemplo:

    <input class="form-control largura_245" id="campo1" name="campo1" type="text" placeholder="Digite um Valor" maxlength="15" required autofocus onfocus="preenche_campo();">

JS

    <script>
        preenche_campo()  
        {  
          
       
              document.getElementById("id_campo2").value=":: Rotina do Calculo  ::";
            
            
        }  
        
        </script> 

Abraços!

 

Esse código acima, ao vc deixar o campo, ele vai atribuir um value nele, agora quanto ao calculo, veja como vai fazer, pois vc precisa executar alguma rotina para calcular isso.

Fábio!


Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabio, boa tarde !

 

Agradeço seu retorno.

Estou com algumas dificuldades ainda de mesclar javascript com php, enfim ...

Tenho um exemplo do Willian, acima, que estou verificando a possibilidade de ajustar pra minha necessidade. Vamos ver o que consigo e qualquer coisa informo aqui.

Valeu pela atenção.

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, boa tarde ! Eu havia deixado ontem (06/01)no seu blog (no post do link informado acima) um comentário sobre o código e num primeiro momento estava como aguardando aprovação e de repente sumiu de lá. Queria apenas confirmar se é isso mesmo, está aguardando aprovação ou fiz algo errado.

 

Att.:

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aprovei teu comentário.

Qual a sua dúvida?

 

sobre o trecho:

function filter( $var ){
    return $var;//a implementação desta, fica a cargo do leitor
}
Você pode implementar sim, para melhorar a segurança do sistema.

Algo como isso:

 

http://php.net/manual/pt_BR/function.filter-input.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia !

 

É que num primeiro momento tentei ver sua rotina funcionando pra que eu adaptasse pra minha situação.

Criei uma tabela de clientes com a mesma estrutura da sua e na linha do seu código que cria a variavel $db=new mysqli ..., eu apenas informei os dados do meu banco (ip, banco e senha) que é a que uso em meu arquivo de conexao. Mudei apenas isso pra testar.

Quando vou rodar, informo um nome e fica aparecendo msg "Carregando..." nos campos de endereco e telefone.

Até instalei o Firebug pra ver se conseguia identificar e no erro do console aparece: (SELECT `id`, `nome`, `telefone`, `endereco` FROM `cliente` WHERE `nome` = 'marcos' {"endereco":"n\u00e3o encontrado"} ).

 

Se eu colo esse select direto na consulta no banco, ele retorna o registro.

A linha que eu ajustei na rotina com dados do meu banco, ficou:

$db = new mysqli("999.999.99.99", "banco", "senha");

 

Obrigado pelo apoio.

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, ajustei a conexão ao banco e agora está localizando o registro e jogando nas variáveis conforme me mostra o debug. No entanto continua mostrando "Carregando ..." nos campos onde deveria mostrar o valor das variáveis.

 

Att.:

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

No retorno não pode ter a SQL, só o JSON.

Ai vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno,

Com exceção das informações de conexão ao banco de dados que alterei, o restante do código permanece fiel ao seu.

Se o firebug me mostra que o sistema localiza o registro e grava nas variáveis, deveria funcionar .

Ou o seu código também fica a mensagem "Carregando..." .

 

Você sendo conhecedor do assunto fala com bastante naturalidade mas eu leigo no trato de ajax com php infelizmente ainda não consigo visualizar essa questão do "retorno não ter sql e só JSON". Como eu disse, a única alteração de código que fiz foi a conexão ao banco.

 

Veja o resultado do Firebug quando informo um nome na pesquisa

 

 

SELECT `id`, `nome`, `telefone`, `endereco` FROM `cliente` WHERE `nome` = 'marcos' {"endereco":"Rua Rio Bonito, 106","telefone":"26321560"}

 

Obrigado pela paciência.

 

Att.:

 

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de ser:

SELECT `id`, `nome`, `telefone`, `endereco` FROM `cliente` WHERE `nome` = 'marcos' {"endereco":"Rua Rio Bonito, 106","telefone":"26321560"}
deveria ser:

 

{"endereco":"Rua Rio Bonito, 106","telefone":"26321560"}
entendeu?

 

remova o echo do SQL lá no seu PHP.

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.