Ir para conteúdo

POWERED BY:

Arquivado

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

Kripton11235

PRoblemas com Jquery no IE

Recommended Posts

Tudo bem pessoal? Estou com o seguinte problema: Em meu projeto tenho uma página de cadastro, que está dividida em 2 divs, uma com dados relativos a pessoa Jurídica, e outra a pessoa física.Bem acima dessas divs, tenho dois radio buttons para que o usuário escolha se é pessoa física ou juridica(Primeiro pessoa Física e depois pessoa Jurídica). Ao entrar nesta página de cadastros, ambas as divs estão ocultas. Quando o usuário clicar em uma das opções do radio button, a div escolhida é habilitada. No firefox,tudo funciona perfeitamente, mas no IE6, 7 e 8, ocorre um bug. Quando clico em pessoa física, nada acontece. É necessário que eu clique primeiro em pessoa jurídica, para que tudo possa funcionar.

<!-- Script que verifica se o usuário se cadastrou como pessoa física ou jurídica, e desabilita a div oposta -->
<script>
$().ready(function(){
   $(".pessoa").change(function(){
       if($(this).val() == "F"){
         $("#pessoaJuridica").css("display","none");
           $("#pessoaFisica").css("display","block");
           $("#nome").removeAttr('disabled');
           $("#CLI_SEXO").removeAttr('disabled', true);
         $("#cpf").removeAttr('disabled');
           $("#dia1").removeAttr('disabled');
           $("#mes1").removeAttr('disabled');
           $("#ano1").removeAttr('disabled');
           $("#nomePessoaJuridica").attr('disabled', true);
         $("#cnpj").attr('disabled', true);
           $("#dia2").attr('disabled', true);
           $("#mes2").attr('disabled', true);
           $("#ano2").attr('disabled', true);
        }else{
           $("#pessoaFisica").css("display","none");
           $("#pessoaJuridica").css("display","block");
           $("#nome").attr('disabled', true);
           $("#CLI_SEXO").attr('disabled', true);
           $("#cpf").attr('disabled', true);
           $("#dia1").attr('disabled', true);
           $("#mes1").attr('disabled', true);
           $("#ano1").attr('disabled', true);
           $("#nomePessoaJuridica").removeAttr('disabled');
           $("#cnpj").removeAttr('disabled');
           $("#dia2").removeAttr('disabled');
           $("#mes2").removeAttr('disabled');
           $("#ano2").removeAttr('disabled');
        }
        });
     //Utilizo código php para informar o tipo de pessoa cadastrada.
     pessoa = '<?php echo $this->pessoa;?>';
     if(pessoa == "F")
     {
         $("#pessoaJuridica").css("display","none");
           $("#pessoaFisica").css("display","block");
           $("#nome").removeAttr('disabled');
           $("#cpf").removeAttr('disabled');
           $("#dia1").removeAttr('disabled');
           $("#mes1").removeAttr('disabled');
           $("#ano1").removeAttr('disabled');
           $("#nomePessoaJuridica").attr('disabled', true);
           $("#cnpj").attr('disabled', true);
           $("#dia2").attr('disabled', true);
           $("#mes2").attr('disabled', true);
           $("#ano2").attr('disabled', true);
     }
     if(pessoa == "J")
     {
         $("#pessoaFisica").css("display","none");
           $("#pessoaJuridica").css("display","block");
           $("#nome").attr('disabled', true);
           $("#cpf").attr('disabled', true);
           $("#dia1").attr('disabled', true);
           $("#mes1").attr('disabled', true);
           $("#ano1").attr('disabled', true);
           $("#nomePessoaJuridica").removeAttr('disabled');
           $("#cnpj").removeAttr('disabled');
           $("#dia2").removeAttr('disabled');
           $("#mes2").removeAttr('disabled');
           $("#ano2").removeAttr('disabled');
     }
     //máscara para o cpf.
    $("#cpf").mask("99999999999");
});

</script>

Como posso resolver isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, pra que quebrar a cabeça com esse monte de códigos??? Não seria mais fácil criar duas DIVs e, ao clicar num dos radios, mostrar a correspondente? Tenho certeza que vai funcionar em todos navegadores :D

 

<script type="text/javascript">
function show(x,y){
document.getElementById(x).style.display='block';
document.getElementById(y).style.display='none';
}
</script>
<style type="text/css">
#pfisica, #pjuridica {display:none;}
</style>
<form>
<input type="radio" name="p" id="fisica" onclick="show('pfisica','pjuridica')"> Pessoa Física   
<input type="radio" name="p" id="juridica" onclick="show('pjuridica','pfisica')">Pessoa Jurídica</form><br>
<div id="pfisica">
Form da pessoa Física
</div>
<div id="pjuridica">
Form da pessoa Jurídica
</div>

 

Olha que simplicidade de lógica, agora é só adicionar os Forms :D

Té +!

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.