Ir para conteúdo

POWERED BY:

Arquivado

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

Carcleo

Validação de RADIO BUTTON

Recommended Posts

Ola pessoal.

 

To precisando de uma ajuda.

 

Bom. No formulario tenho dois radio buttons com name e id="pessoa" uma com value="j" e outra com value="f".

 

Tem tambem dois campos text. Um name="cpf" e outro name="cnpj".

 

Estou querendo fazer uma validação de forma que, quando enviar o formulario, verificar qual radio button esta checado. Se for o value="j" então verificar se o campo CNPJ foi preenchido, se esta só com a mascara ou se tem menos que 18 carcters (incluindo a mascara) e Se for o value="f" então verificar se o campo CPF foi preenchido, se esta só com a mascara ou se tem menos que 14 carcters (incluindo a mascara)

 

Apos esta validação. Verificar se alguma dessas coisas ocorrerem, verificar qual radio button estava marcada no momento do envio do formulario e setar o focus para seu respectivo text.

 

Não estou conseguindo fazer isso.

 

Preciso de ajuda.

 

Grande Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o código do que já possui para ficar mais simples de entender.

Obs.: IDs são únicas, não use o mesmo ID em diversos elementos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK.

 

Form:

 

<table>
   <td width="50%" valign="top">  
     <table>
       <tr><td colspan="2">
         <?
          if ($errocli == "invalido")  { echo ("<font color=red size=-1><b>Usuário Inválido ou senha não confere</b></font>"); }
          if ($errocli == "bloqueado") { echo ("<font color=red size=-1><b>Usuário Bloqueado</b></font>"); }
         ?>
       </td></tr>
         <form action="logar.php?acao=cliente" method="post" name="login_cliente">   
         <tr>
           <td colspan="2"><font color="#990000">Cliente</font></td></tr>
                    <tr>
           <td valign="top" colspan="2">
             <table width="300">
               <tr>
                 <td width="150" valign="top">
 <input type="radio" name="pessoa" id="pessoa" value="j" checked="checked" onclick="javascript: abre('juridica'); fecha('fisica');" />
 <label>Pessoa Jurídica</label><br>
 <input type="radio" name="pessoa" id="pessoa" value="f"  onclick="javascript: fecha('juridica'); abre('fisica');" /> 
 <label>Pessoa Física</label>
                 </td>
                 <td width="150" valign="top">
             <div id="juridica" style="display:block;">
             <table>
               <tr>
                 <td colspan="2" ><label>CNPJ: <br />
                       <input type="text" name="cnpj" class="bginput" maxlength="18" size="19" onkeypress="return mascara(event,this,'##.###.###/####-##');"  value="" /></label><br /><br />
                 </td>
                 </tr>
             </table>
             </div>
             <div id="fisica" style="display:none;">
             <table>
               <tr>
                 <td colspan="2"><label>CPF: <br />
                       <input type="text" name="cpf" class="bginput" maxlength="14" size="19" onkeypress="return mascara(event,this,'###.###.###-##');"  value="" /></label><br /><br />
                 </td>
                 </tr>
             </table>
             </div>
           </td>
         </tr>
         </table>
         </td>
         </tr>
         <tr>
           <td>Senha:</td>
           <td><INPUT TYPE="password" NAME="senha" VALUE="" SIZE=20 MAXLENGTH=40></td>
         </tr>
         <tr>
           <td colspan="2" align="center">
             <input type="button" value="Entrar" onClick="CriticaLoginCliente()">
             <input type="reset"  value="Limpar"> 
           </td>
         </tr>
        </form>
       </table>        
   </td>
  </tr>
</table>

J.S.

function CriticaLoginCliente()
{
       if ((document.login_cliente.cnpj.value == "") && (document.login_cliente.cpf.value == ""))
	{
/*	      if (document.getElementById(0)["pessoa"].checked = true) 
		{alert("Preencha CNPJ: Campo obrigatório!!!");document.login_cliente.cnpj.focus(); return (false);}
	  if (document.getElementById(1)["pessoa"].checked = true) 
		{alert("Preencha CPF: Campo obrigatório!!!");document.login_cliente.cpf.focus(); return (false);}
*/		}
	if (document.login_cliente.cnpj.value.lenght < 18) 
	  {alert("Preencha CNPJ: Campo obrigatório!!!");document.login_cliente.cnpj.focus(); return (false);}
	if (document.login_cliente.cpf.value.lenght < 14)  
	  {alert("Preencha CPF: Campo obrigatório!!!");document.login_cliente.cpf.focus(); return (false);}

	if (document.login_cliente.cnpj.value == "  .   .   /    -  ") 
   	  {alert("Preencha CNPJ: Campo obrigatório!!!");document.login_cliente.cnpj.focus(); return (false);}
	if (document.login_cliente.cpf.value == "   .   .   -  ") 
	  {alert("Preencha CPF: Campo obrigatório!!!");document.login_cliente.cpf.focus(); return (false);}

       if (document.login_cliente.senha.value == "")
	{alert("Preencha Senha: Campo obrigatório!!!");document.login_cliente.senha.focus(); return (false);}

document.login_cliente.submit();		
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, consegui chegar chegar no código abaixo porem, dentro da função, o return false não quer funcionar.

 

Ele passa direto como se não existisse:

// JavaScript Document
function validaradio(form,name_do_radiobutton)
{
       preencheu = false;
       elementosForm = form.getElementsByTagName('input');
       for (i=0;i<elementosForm.length;i++)
       {
               if(elementosForm[i].type == "radio" &&
                  elementosForm[i].name == name_do_radiobutton && 
                  elementosForm[i].checked)
               {
                       preencheu = true;
                       break;
               }
       }
       if (!preencheu)
       {
               alert("É necessário escolher uma opção.");
			elementosForm[0].focus;
			return false;
       }
}



function CriticaLoginCliente()
{
     validaradio(login_cliente,"pessoa");

      if (document.login_cliente.pessoa[0].checked == true) 
		{ 		
		  if (document.login_cliente.cnpj.value == "  .   .   /    -  ") or (document.login_cliente.cnpj.value == "") 
   	         {alert("Preencha CNPJ: Campo obrigatório!!!");document.login_cliente.cnpj.focus(); return (false);}
	 	  if (document.login_cliente.cnpj.value.length < 18) 
	         {alert("CNPJ: Preencha Correto!!!");document.login_cliente.cnpj.focus(); return (false);}
		}
	  if (document.login_cliente.pessoa[1].checked == true) 
		{
		  if (document.login_cliente.cpf.value == "   .   .   -  ") or (document.login_cliente.cpf.value == "")
                {alert("Preencha CPF: Campo obrigatório!!!");document.login_cliente.cpf.focus(); return (false);}
		  if (document.login_cliente.cpf.value.length < 14)  
	         {alert("CPF: Preencha Correto!!!");document.login_cliente.cpf.focus(); return (false);}
		}

       if (document.login_cliente.senha.value == "")
	{alert("Preencha Senha: Campo obrigatório!!!");document.login_cliente.senha.focus(); return (false);}

document.login_cliente.submit();		
}

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.