Fórum Varíavel PHP receber o valor de um INPUT HTML para pesquisar no banco #592577
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
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)