Ir para conteúdo
Fórum Script Brasil
  • 0

Validação de RADIO BUTTON


Carlos Rocha

Pergunta

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!

Segue os códigos que estou tentando.

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="java script: abre('juridica'); fecha('fisica');" />
  <label>Pessoa Jur&iacute;dica</label><br>
  <input type="radio" name="pessoa" id="pessoa" value="f"  onclick="java script: fecha('juridica'); abre('fisica');" /> 
  <label>Pessoa F&iacute;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();        
}

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

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();        
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...