Ir para conteúdo

Arquivado

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

claudiofucamp

Validação no chekbox e select ao mesmo tempo - Javascript e PHP

Recommended Posts

Pessoal saudações!

 

Estou numa situação inusitada.

Numa página o formulário, na outra o que recebe.

Porém na primeira são vários chekbox e cada um com um select.

Na página que recebe, gostaria de fazer a validação dos campos.

Como validar quando o usuário não marcou o chekbox e escolheu a quantidade?

Como validar quando o usuário marcou o chekbox e não escolheu a quantidade?

E como voltar ao formulário sem perder o que o usuário digitou?

 

Segue uma parte do código que valida:

 

 

------------------------------------

 


if(count($bebidas)>count($quant_beb)){


echo"<script language='javascript' type='text/javascript'>alert('Você esqueceu a quantidade.');</script>";


echo "<script language=\"JavaScript\">function redireciona() {window.location=\"http://meusite.com.br/\";}redireciona();</script>";
}

 

------------------------------------------

 

if(count($bebidas)<count($quant_beb)){


echo"<script language='javascript' type='text/javascript'>alert('Você não marcou o checkbox');</script>";


echo "<script language=\"JavaScript\">function redireciona() {window.location=\"http://meusite.com.br/\";}redireciona();</script>";
}

 

--------------------------------
Acho que usar "<" e ">" não é muito eficiente, pois às vezes passa sem validar.
E quando faz a validação e faltou alguma coisa, ele volta mas não recupera os dados digitados.

Desde já agradeço mais uma vez a ajuda de vocês.

 

Att,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites
Obrigado Lucas, segue parte do código:

 

<!-- Inicio do Formulario -->
<td>
<?PHP
$colunas = 3;
$i = 1;
include "conexao.php";
$sql = "SELECT * FROM ingredientes ORDER BY descricao ASC LIMIT 100";
$resultado = mysql_query($sql, $conexao);
while ($linha = mysql_fetch_array($resultado)){
$resto = $i%$colunas;
?>
<form action="ver_ingrediente.php" name="form" method="post">


<input type="checkbox" value="<? echo $linha['id']?>" name="<? echo "id_ingred[$i]"; ?>">


<select name="<? echo "quant_ingredientes[$i]";?>" size="1">
<option value="">0</option>                                
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>


</td>
<td>
<?= $linha['descricao']; ?>
</td>
<!-- Fim do Formulario -->


<!-- Inicio do arquivo que recebe -->


<?php
$quant_ingredientes=$_POST["quant_ingredientes"];
$id_ingre=$_POST["id_ingred"];
$i_ingre=($_POST["i_ingre"]-1);
$p=1;
for ($i=0;$i<=count($quant_ingredientes);$i++){
if($quant_ingredientes[$i]!=0){
$quant_ingred[$p]=$quant_ingredientes[$i];
$p++;
}
}
$p=1;
for ($i=0;$i<=$i_ingre;$i++){                                    
if($id_ingre[$i]!=0){
$id_ingredientes[$p]=$id_ingre[$i];
$p++;
}                                       
}
if(count($id_ingredientes)>count($quant_ingred)){


echo"<script language='javascript' type='text/javascript'>alert('Você não selecionou a quantidade de ingrediente');</script>";
echo "<script language=\"JavaScript\">function redireciona() {window.location=\"http://meusite.com.br\";}redireciona();</script>";
}
if(count($id_ingredientes)<count($quant_ingred)){


echo"<script language='javascript' type='text/javascript'>alert('Você deixou de selecionar algum ingrediente ');</script>";
echo "<script language=\"JavaScript\">function redireciona() {window.location=\"http://meusite.com.br\";}redireciona();</script>";
}


$_SESSION['quant_ingred']=$quant_ingred;
$_SESSION['id_ingredientes']=$id_ingredientes;


echo "INGREDIENTES<br><br>";
for($i=0;$i<=count($id_ingredientes);$i++){
$sql="SELECT * FROM ingredientes where id='".$id_ingredientes[$i]."'";
$query=mysql_query($sql);
while($linha=mysql_fetch_array($query)){
?>
<? echo $quant_ingred[$i]; ?> 
  
<? echo $linha["descricao"];
$_SESSION['nome_ingred'][$i]=$linha["descricao"];
?> 
<!-- Fim do arquivo que recebe -->

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, oque eu quero verificar é se:

- o usuário não marcou o chekbox e escolheu a quantidade? E ao mesmo tempo saber se o usuário marcou o chekbox e não escolheu a quantidade?

E se esqueceu de algo, fazer a página voltar sem perder as informações que ele digitou!

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.