CPF- CNPJ

152 views
Skip to first unread message

Paulo Amigoni

unread,
Jul 6, 2011, 8:17:25 PM7/6/11
to php-b...@googlegroups.com
boa noite galera
seguinte
tenho um formulario de cadastro de cliente onde a pessoa vai escolher
se é pessoa fisica ou juridica
gostaria que se o cara escolher o Fisica o campo muda pra CPF e se
escolher Juridica muda pra CNPJ
não sei se tem q fazer dois input
to usando assim

<td width="13%">CNPJ:<br />
<input name="CCPFCNPJ" id="CCPFCNPJ" value="<?php echo
$CCPFCNPJ;?>" type="text" size="20" alt="99.999.999/9999-99" />

vou por um radion ou um select para escolher o tipo de pessoa

hoje está assim
<td width="13%">CNPJ:<br />
<input name="CCPFCNPJ" id="CCPFCNPJ" value="<?php echo
$CCPFCNPJ;?>" type="text" size="20" alt="99.999.999/9999-99" />

se mudar para pessoa fisica ficaria assim

<td width="13%">CPF:<br />
<input name="CCPFCNPJ" id="CCPFCNPJ" value="<?php echo
$CCPFCNPJ;?>" type="text" size="20" alt="999.999.999-99" />

muda o nome de CNPJ para CPF e a mascara tbm

alguma solução?

Abraços

Klederson Bueno

unread,
Jul 6, 2011, 8:19:22 PM7/6/11
to php-b...@googlegroups.com
jquery / toggle + regra de validação/tooltip via regex ficaria simples e elegante

--
/**

 * PHP Architect/Consultant
 * @author Klederson Bueno <klederson [at] klederson [dot] com>
 * @see http://www.phpburn.com
 * @see http://github.com/klederson
 * @see http://www.twitter.com/klederson
 */



2011/7/6 Paulo Amigoni <paulo....@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.


Klederson Bueno

unread,
Jul 6, 2011, 8:23:39 PM7/6/11
to php-b...@googlegroups.com
ou no caso nem precisa do toggle pq é radio então daria pra fazer usando checagem de valor no :check dos radios tipo

<input type='radio' alt='123.123' name='meuradio' />
<input type='radio' alt='222.222' name='meuradio' />

<input type='textFiedl' alt='123.123' name='meutexto' id='meutexto' />

$('input[name=meuradio]').click(function() {
  var $this = $(this);

  $('#meutexto').attr('alt', $this.attr('alt'));
});

resolveria tb replica isso de forma generica pra outros atributos e operacoes


--
/**

 * PHP Architect/Consultant
 * @author Klederson Bueno <klederson [at] klederson [dot] com>
 * @see http://www.phpburn.com
 * @see http://github.com/klederson
 * @see http://www.twitter.com/klederson
 */



2011/7/6 Klederson Bueno <kled...@klederson.com>

Paulo Amigoni

unread,
Jul 7, 2011, 1:23:32 PM7/7/11
to php-b...@googlegroups.com
ainda não deu certo
=/

Thiago Ferreira de Lucena

unread,
Jul 7, 2011, 1:29:02 PM7/7/11
to php-b...@googlegroups.com
tu tá usando que plugin para setar a mascara?

na função do click talvez tu tenha que chamar o plugin denovo para alterar a máscara

2011/7/7 Paulo Amigoni <paulo....@gmail.com>



--
Att.

Thiago Ferreira de Lucena
(83) 8827-9851
(83) 3512-4735

Eduardo Kraus

unread,
Jul 7, 2011, 3:44:37 PM7/7/11
to php-b...@googlegroups.com
Ola

Faço assim:

<?php

if( isset( $_POST['documento'] ) )
{
if( $_POST['documento'] == 'cpf' )
{
echo "Selecionado CPF e valor digitado é " . $_POST['documentoCPF'];
}
else if( $_POST['documento'] == 'cnpj' )
{
echo "Selecionado CNPJ e valor digitado é " . $_POST['documentoCNPJ'];
}
else
{
echo "Estranho";
}
}

?>

<form method="post">
    <div> 
        <label>
            <input type="radio" value="cpf" name="documento" checked="checked" /> CPF 
        </label>
        <label>
            <input type="radio" value="cnpj" name="documento" /> CNPJ
        </label>
    </div>
    
    <div id="cpf"> 
        <label for="documentoCPF">CPF <span>*</span></label> 
        <input type="text" name="documentoCPF" id="documentoCPF" class="cpf required" maxlength="14" alt="999.999.999-99" /> 
    </div> 
    <div id="cnpj" style="display: none;"> 
        <label for="documentoCNPJ">CNPJ <span>*</span></label> 
        <input type="text" name="documentoCNPJ" id="documentoCNPJ" class="cnpj" maxlength="18" alt="99.999.999/9999-99" /> 
    </div> 
    <div>
    <input type="submit" value="Enviar"/>
    </div>
</form>


<script type="text/javascript"> 
 jQuery("input[name=documento]:radio").change(
    function(){
    if( jQuery("input[name=documento]:radio:checked").val() == 'cpf' )
    {
    jQuery("#cnpj").hide();
    jQuery("#documentoCNPJ").removeClass('required');
    jQuery("#cpf").show();
    jQuery("#documentoCPF").addClass('required');
    }
    else
    {
    jQuery("#cnpj").show();
    jQuery("#documentoCNPJ").addClass('required');
    jQuery("#cpf").hide();
    jQuery("#documentoCPF").removeClass('required');
    }
    }
    );
</script>



Eduardo Kraus

Professor 

+55 48 8843-3423
kr...@eduardokraus.com
www.eduardokraus.com
www.twitter.com/EduardoKraus



Paulo Amigoni

unread,
Jul 7, 2011, 3:48:18 PM7/7/11
to php-b...@googlegroups.com
Então mais o nome do campo é só CPFCNPJ

Eduardo Kraus

unread,
Jul 7, 2011, 4:14:00 PM7/7/11
to php-b...@googlegroups.com
Sem crise...

<?php

$CPFCNPJ = '';
if( isset( $_POST['documento'] ) )
{
if( $_POST['documento'] == 'cpf' )
{
echo "Selecionado CPF";
$CPFCNPJ = $_POST['documentoCPF'];
}
else if( $_POST['documento'] == 'cnpj' )
{
echo "Selecionado CNPJ";
$CPFCNPJ = $_POST['documentoCNPJ'];
}
else
{
echo "Estranho";
}
}

echo " e valor digitado é " . $CPFCNPJ;

?>

Agora tens na variável  $CPFCNPJ o teu valor.....

Samuel Ramon

unread,
Jul 7, 2011, 4:48:39 PM7/7/11
to php-b...@googlegroups.com
Cara a solução pode do JS você pode usar o meiomask para as mascaras. Ficaria + ou - assim:

// adotando os valores para o radio como 'cpf' e 'cnpj'
$(id_radiobutton).click(function(){
   $('#CCPFCNPJ').unsetMask().setMask($(this).val());
})

O meio mask já vem com a mascara para cpf e cnpj:
http://www.meiocodigo.com/projects/meiomask/

Samuel Ramon Barros de Oliveira
Desenvolvedor Web

@samuelrbo
samuel.ramon.blog.br

Michel Felipe - Pós Eng. de Software

unread,
Jul 7, 2011, 4:52:15 PM7/7/11
to php-b...@googlegroups.com
Eu tenho isso aq num plugin que eu fiz pra WP, segue o código.


var maskType = 'cpf';
        var label = 'Documento(CPF):';

        $('#cpf_cnpj').setMask(maskType);

        //Aqui é o campo "combo box", no seu caso, altere para verificar o radio que foi clicado
        $('#type_person').change(function(){
            var value = $(this).val();

            if(value == 1){
                label = 'Documento(CNPJ):';
                maskType = 'cnpj'
            }else{
                label = 'Documento(CPF):';
                maskType = 'cpf'
            }
            $('#cpf_cnpj').setMask(maskType).attr('alt',maskType);
            $('#label_cpf_cnpj').html(label);
        })


DETALHE: Isso está funcionando perfeitamente em um sistema aq!!!!!
Atenciosamente


Analista de Sistemas
PHP / Zend Framework / CakePHP / Java Desktop / JavascriptMVC / EXTJS / JQuery / PostGres/ MySQL

71 9196-4178
www.vidacriativa.com.br
Reply all
Reply to author
Forward
0 new messages