Estou com uma dúvida bem idiota, na verdade. Estou precisando colocar uma validação em 2 inputs texto e não sei qual function usar.
Primeiro, eu tenho um campo "Data de Nascimento" e um "Idade", onde o campo Idade calcula automaticamente o valor de acordo com a data digitada. Até aí, beleza, funciona perfeitamente.
Mas acontece que eu tenho outra function para habilitar ou não 2 campos "Nome do Responsável" e "CPF do Responsável" que só podem ser habilitados se a idade calculada for menor que 21.
Eu tentei fazer colocando nos inputs a opção onclick. Funciona, mas ainda dá tempo da pessoa digitar alguma coisa até o campo desabilitar.
Eu queria que logo que a idade fosse calculada, esses campos já desabilitassem entenderam? Sem dar opção da pessoa digitar alguma coisa.
Se alguém puder me ajuda....
O script:
<script>
function calcula_idade(data){
var array_data = data.split("/")
var ano = eval(array_data[2]);
var mes = eval(array_data[1]);
var dia = eval(array_data[0]);
var data = new Date(ano, mes-1, dia);
var data_atual=new Date();
var decimal = 0;
unidade=1000*60*60*24*30*12;
decimal=(decimal<=0)? 1 : decimal*10;
yearspast=data_atual.getFullYear()-ano-1;
valid=(data_atual.getMonth()>mes-1 || data_atual.getMonth()+1==mes || data_atual.getMonth()==mes-1 && data_atual.getDate()>=dia)? 1 : 0
data.setFullYear(data_atual.getFullYear())
data2=new Date(data_atual.getFullYear()-1, mes-1, dia)
valid=(valid==1)? valid+Math.floor((data_atual.getTime()-data.getTime())/(unidade)*decimal)/decimal : Math.floor((data_atual.getTime()-data2.getTime())/(unidade)*decimal)/decimal
document.getElementById("txtIdade").value = yearspast+valid;
}
function habilitaCampo(txtIdade){
if (txtIdade >= "20"){
document.getElementById('nomeresp').disabled = true;
document.getElementById('nomeresp').style.background='#EEEEEE'
document.getElementById('cpfresp').disabled = true;
document.getElementById('cpfresp').style.background='#EEEEEE'
}else{
document.getElementById('nomeresp').disabled = false;
document.getElementById('nomeresp').style.background='#FFFFFF'
document.getElementById('cpfresp').disabled = false;
document.getElementById('cpfresp').style.background='#FFFFFF'
}
}
</script>
Pergunta
Guest --Michelle --
Olá pessoal,
Estou com uma dúvida bem idiota, na verdade. Estou precisando colocar uma validação em 2 inputs texto e não sei qual function usar.
Primeiro, eu tenho um campo "Data de Nascimento" e um "Idade", onde o campo Idade calcula automaticamente o valor de acordo com a data digitada. Até aí, beleza, funciona perfeitamente.
Mas acontece que eu tenho outra function para habilitar ou não 2 campos "Nome do Responsável" e "CPF do Responsável" que só podem ser habilitados se a idade calculada for menor que 21.
Eu tentei fazer colocando nos inputs a opção onclick. Funciona, mas ainda dá tempo da pessoa digitar alguma coisa até o campo desabilitar.
Eu queria que logo que a idade fosse calculada, esses campos já desabilitassem entenderam? Sem dar opção da pessoa digitar alguma coisa.
Se alguém puder me ajuda....
O script:
HTML:Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.