Varíavel PHP receber o valor de um INPUT HTML para pesquisar no banco
19/04/2018
0
Galera, tenho o seguinte código:
Preciso que a varíavel $ref na linha 57, receba o valor digitado no input referencia, na linha 87, como posso fazer isso sem dar refresh na página? Pois quando a pessoa digitar a referência no input, com a função onblur, quando ela sair do input, quero fazer um window.alert em javascript, que atualmente é a função valida() linha 47. para pesquisar no banco a referência e mostrar a descrição, conforme o select na linha 59, e preciso que essa varíavel $ref receba o valor digitado no Input sem atualizar a página.
Ja tentei usar o document.getelementbyid, mas não funcionou.... Como posso fazer isso?
<?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Cadastro de OP''s</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="css/bootstrap.min.css" rel="stylesheet"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> </head> <body> <script language=''JavaScript''> function SomenteNumero(e){ var tecla=(window.event)?event.keyCode:e.which; if((tecla>47 && tecla<58)) return true; else{ if (tecla==8 || tecla==0) return true; else return false; } } </script> <?php if(!empty($_SESSION[''cadastro''])){ if($_SESSION[''permite_cadastrar''] == 0){ ?> <script language="JavaScript"> window.location="inicial.php"; window.alert("Acesso Negado! Sem permissão!"); </script> <?php } }else{ $_SESSION[''msg''] = "Área restrita"; ?> <script language="JavaScript"> window.location="index.php"; window.alert("Area Restrita"); </script> <noscript> Se não for direcionado automaticamente, clique <a href="index.php">aqui</a>. </noscript> </script> <script type="text/javascript"> function valida(){ window.alert("Olá!") } </script> <?php } $servidor = "localhost"; $login = "maicon.friedel"; $senha = "IGszKJk46GMc3BCE"; $dbname = "mercotoys"; $ref = 123; $conn = mysqli_connect($servidor, $login, $senha, $dbname); $referencia1 = "SELECT descricao from referencias where referencia = ''$ref''"; $referencia = mysqli_query($conn, $referencia1); $linhas = mysqli_num_rows($referencia); while ($linhas = mysqli_fetch_array($referencia)){ $referencia3 = $linhas[''descricao'']; } ?> <script type="text/javascript" src="date_hour_mask.js"></script> <p align="right"><a href="inicial.php">Voltar a Página Inicial</a> </p> <div class="container"> <br> <h1>Cadastro de OP</h1> <br> <form class="form-horizontal" method="POST" action="cadastra.php" name="form1"> <div class="row"> <div class="col-md-2"> <label>OP: </label> <input type="text" name="op" class="form-control" placeholder="OP" onkeypress="return SomenteNumero(this)" required> </div> <div class="col-md-2"> <label>Lote: </label> <input type="text" name="lote" class="form-control" placeholder="Lote" onkeypress="return SomenteNumero(this)"> </div> <div class="col-md-2"> <label>Referência: </label> <input type="text" name="referencia" class="form-control" placeholder="Referência" id="ref" onkeypress="return SomenteNumero(this)" required onblur="valida(this)"> </div> <div class="col-md-3"> <label>Descrição: </label> <input type="text" name="descricao" class="form-control" placeholder="Descrição" id ="descricao" required> </div> <div class="col-md-3"> <label for="data">Data: </label> <input type="date" name="data" class="form-control" required/> </div> </div> <div class="row"> <div class="col-md-4"> <label for="operadores">Operadores: </label> <textarea name="operadores" class="form-control" rows="4" id="operadores" placeholder="Informe os operadores, por ordem de Posto" required></textarea> </div> <div class="col-md-2"> <label>Controle Qualidade:</label> <input type="text" name="qualidade_inicial" class="form-control" required placeholder="Inicial" onkeypress="return SomenteNumero(this)" /><br> <input type="text" name="qualidade_final" class="form-control" required placeholder="Final" onkeypress="return SomenteNumero(this)" /> </div> <div class="col-md-2"> <label>Hora Início e Fim: </label> <input type="text" name="inicio" class="form-control" placeholder="Hora Início" onkeypress="valida_horas(this)" maxlength="5" required> <br> <input type="text" name="fim" class="form-control" placeholder="Hora Fim" onkeypress="valida_horas(this)" maxlength="5" required> </div> <div class="col-md-2"> <label>Parada: </label> <input type="text" name="parada" class="form-control" placeholder="Minutos parados" onkeypress="return SomenteNumero(this)"> <br> <input type="text" name="motivo" class="form-control" placeholder="Motivo Parada" > <p> <input type="checkbox" name="lanche" value="lanche"> <label>Parada do Lanche</label></p> </div> <div class="col-md-2"> <br> <label>Quantidade de Peças: </label> <input type="text" name="qtd_pecas" class="form-control" placeholder="Qtd Peças" required onkeypress="return SomenteNumero(this)"> </div> </div> <br> <br> <p align="center"><input type="submit" name="submit" value="Registrar" class="btn btn-success"/></p> </form> <p id="desc"></p> </div> </body> </html>
Preciso que a varíavel $ref na linha 57, receba o valor digitado no input referencia, na linha 87, como posso fazer isso sem dar refresh na página? Pois quando a pessoa digitar a referência no input, com a função onblur, quando ela sair do input, quero fazer um window.alert em javascript, que atualmente é a função valida() linha 47. para pesquisar no banco a referência e mostrar a descrição, conforme o select na linha 59, e preciso que essa varíavel $ref receba o valor digitado no Input sem atualizar a página.
Ja tentei usar o document.getelementbyid, mas não funcionou.... Como posso fazer isso?
Maicon Friedel
Curtir tópico
+ 0
Responder
Posts
19/04/2018
Willian Silva
Bom dia Maicon Friedel
Para executar a função valida() pode ser usar o onBlur ou onChange, e coloca a função, você pode da uma olhada com o jquery, tem muita coisa que ele faz, ainda mais os plugin do jquery como o validate você consegue validar mais fácil deixa só numero aquele campo, acho que também tem algo no html 5 também sobre essa parte de só numero talvez coloco o type dele diferente, tudo é fácil de consegui exemplos na internet.
Sobre a parte de mostra a descrição você pode usar requisão ajax, tem varios exemplos usando jquery, ou você pode fazer com javascript puro, mais é bem complicado, mais apos que você realizou a requisição ajax, você encaminha a descrição para uma tag span ou um input você pode montar o html pelo javascript mesmo e da um document.getelementbyid.html(CONTEÚDO).
Vou coloca alguns links para auxilo sobre as coisas que descrevi nessa resposta por favor tira uns minutos e tenta entende, ajuda bastante no teu desenvolvimento de trabalho ou qualquer coisa.
https://www.devmedia.com.br/validacao-com-jquery-como-usar-o-plugin-validation/33670 -> sobre a parte de validação, imagino que tenha exemplo que mostra para o campos so receber numero.
https://www.devmedia.com.br/ajax-com-jquery-trabalhando-com-requisicoes-assincronas/37141 -> sobre requisição ajax, tem exemplos.
https://api.jquery.com/category/events/ -> sobre os eventos que existe com jquery, maioria é nativo do javascript.
Para executar a função valida() pode ser usar o onBlur ou onChange, e coloca a função, você pode da uma olhada com o jquery, tem muita coisa que ele faz, ainda mais os plugin do jquery como o validate você consegue validar mais fácil deixa só numero aquele campo, acho que também tem algo no html 5 também sobre essa parte de só numero talvez coloco o type dele diferente, tudo é fácil de consegui exemplos na internet.
Sobre a parte de mostra a descrição você pode usar requisão ajax, tem varios exemplos usando jquery, ou você pode fazer com javascript puro, mais é bem complicado, mais apos que você realizou a requisição ajax, você encaminha a descrição para uma tag span ou um input você pode montar o html pelo javascript mesmo e da um document.getelementbyid.html(CONTEÚDO).
Vou coloca alguns links para auxilo sobre as coisas que descrevi nessa resposta por favor tira uns minutos e tenta entende, ajuda bastante no teu desenvolvimento de trabalho ou qualquer coisa.
https://www.devmedia.com.br/validacao-com-jquery-como-usar-o-plugin-validation/33670 -> sobre a parte de validação, imagino que tenha exemplo que mostra para o campos so receber numero.
https://www.devmedia.com.br/ajax-com-jquery-trabalhando-com-requisicoes-assincronas/37141 -> sobre requisição ajax, tem exemplos.
https://api.jquery.com/category/events/ -> sobre os eventos que existe com jquery, maioria é nativo do javascript.
Responder
09/07/2018
Aparecida Gonçalves
Olá Maicon,
tudo bem?
Para atribuir um padrão onde seu input receba apenas números você pode usar dessa forma:
<input type="text" required="required" name="numerodigitado" pattern="[0-9]+$" />
Para uma variável PHP receber o que foi digitado no input, você precisa verificar pra onde seu formulário envia o que foi digitado. Então abra seu código cadastra.php e insira dentro dele:
<?php
$recebe = $_POST['numerodigitado'];
Espero ter ajudado!
Cida Luna.
tudo bem?
Para atribuir um padrão onde seu input receba apenas números você pode usar dessa forma:
<input type="text" required="required" name="numerodigitado" pattern="[0-9]+$" />
Para uma variável PHP receber o que foi digitado no input, você precisa verificar pra onde seu formulário envia o que foi digitado. Então abra seu código cadastra.php e insira dentro dele:
<?php
$recebe = $_POST['numerodigitado'];
Espero ter ajudado!
Cida Luna.
Responder
Clique aqui para fazer login e interagir na Comunidade :)