Ir para conteúdo

POWERED BY:

Arquivado

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

New Job

[Resolvido] Validar campo Select Associado a outro Select

Recommended Posts

Bom dia caros amigos.

 

Tenho a seguinte situação:

em uma loja virtual a pessoa pode escolher os produtos: P, M, G ou GG.

Cada um desses tem a sua quantidade disponível.

 

Até ai tudo certo, ja montei os select com PHP.

 

Porém gostaria de validar quando a pessoa clica em comprar ela deveria escolher pelo menos um produto das opções.

 

Como estou fazendo até agora:

 

Select:

Tipos disponíveis:<br>
<form action="carrinho.php" method="post" name="form" id="form" onSubmit="return Valida();">
P<br>
<select name="prod[1]" id="prod[1]" >
<option value="0" selected>0</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
<br>

M<br>
<select name="prod[2]" id="prod[2]" >
<option value="0" selected>0</option>
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
</select>
<br>
<input name="submit"  type="image" src="images/add.png" value="Adicionar ao Carrinho" /><br>

 

Script de validação:

 

<script language="JavaScript">
function Valida () {
d = document.form;
      if(document.getElementById("prod[1]").selectedIndex == "0"){
         alert("Você deve escolher a quantidade desejada!");
         return false;
      }
if(document.getElementById("prod[2]").selectedIndex == "0"){
         alert("Você deve escolher a quantidade desejada!");
         return false;
      }
     return true;
}
</script>

 

Está OK, porém assim a validação obriga a pessoa a escolher sempre um produto de cada tipo.

e gostaria se escolhe-se um 'P' por exemplo já retornasse como 'true'.

 

Como posso fazer esta validação múltipla?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

 

 

<script language="JavaScript">
function Valida () {
d = document.form;
  	if(document.getElementById("prod[1]").selectedIndex == "0" && document.getElementById("prod[2]").selectedIndex == "0"){
         alert("Você deve escolher a quantidade desejada!");
         return false;
  	}
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

 

 

<script language="JavaScript">
function Valida () {
d = document.form;
  	if(document.getElementById("prod[1]").selectedIndex == "0" && document.getElementById("prod[2]").selectedIndex == "0"){
         alert("Você deve escolher a quantidade desejada!");
         return false;
  	}
}
</script>

 

Primeiramente obrigado pela ajuda.

 

Olha só a tua idéia acima dá certo para até duas opções como você mostrou acima.

Acima disto não funciona, será que essa segunda opção ( && ) serve somente para duas opções?

 

ex:

Assim já não funciona.

 

<script language="JavaScript">
function Valida () {
d = document.form;
  	if(document.getElementById("prod[1]").selectedIndex == "0" && document.getElementById("prod[2]").selectedIndex == "0" && document.getElementById("prod[3]").selectedIndex == "0"){
         alert("Você deve escolher a quantidade desejada!");
         return false;
  	}
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual erro está dando?

 

ele não esta caindo ai?

 

Corrigido.

 

Funciona sim!

 

Deu certo agora revisei o código e o problema estava no Formulário.

 

Muito obrigado!

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.