Ir para conteúdo

POWERED BY:

Arquivado

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

regina

Digitar a data em um campo e jogar a idade em outro

Recommended Posts

De novo preciso da ajuda de vocês.Procurei mas não encontrei, ou não soube procurar corretamente :(Preciso de um script onde eu digite uma data num campo (data_nasc) e ao passar para outro campo (idade) ele me traga a idade conforme a data digitada.agradeço antecipadamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abaixo está o script que encontrei, se alguém puder me ajudar, ficarei grata

 

function calculaIdade(data,dataHoje) {x = data.split(”/”);h = dataHoje.split(”/”);anosProvisorio = h[2] - x[2];if(h[1] < x[1]) {anosProvisorio -= 1;}else if(h[1] == x[1]) {if(h[0] < x[0]) {anosProvisorio -= 1;}}return anosProvisorio;}Modo de chamar:calculaIdade(’13/09/1987′,’16/11/2006′);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa ressucitar o tópico.Mas estive em férias e agora voltei para resolvê-lo.alterei conforme sua sugestão tmferreira, porém no firefox acusa o seguinte erro:

Erro: illegal characterArquivo-fonte: http://www.dominio.com.br/includes/funcoes.jsLinha: 336, Coluna: 15Código-fonte:x = data.split(”/”);

No IE dá objeto esperadooutra observação depois que inclui ficou assim e a formatação da data deixou de funcionar:
<label class="data" for="aluno_nasc">Data de Nascimento <strong title="Requirido" class="requirido">*</strong> 		<input type="text" name="aluno_nasc" id="aluno_nasc" size="15" tabindex="2" title="Data de Nascimento da criança" onkeypress="return txtBoxFormat(this.form, this.name, '99/99/9999', event);" onkeyup="return autoTab(this, 10, event);" onblur="var data_hoje = new Date(); document.getElementById('aluno_idade').value = calculaIdade(this.value, data_hoje)"/>	  </label>
Como posso resolver isso?Obrigada==================Editando:achei um jeito utilizando ajax, não dá erro mas eu não consigo trazer o resultado para o input do meu form:
<label class="data" for="aluno_nasc">Data de Nascimento <strong title="Requirido" class="requirido">*</strong> 		<input type="text" name="aluno_nasc" id="aluno_nasc" size="15" tabindex="2" title="Data de Nascimento da criança" onkeypress="return txtBoxFormat(this.form, this.name, '99/99/9999', event);" onkeyup="return autoTab(this, 10, event);" onblur="java script:envia('Calcula.php','POST',aluno_idade);"/>	  </label>	  <label class="data" for="aluno_idade">Idade<strong title="Requirido" class="requirido">*</strong> <br/>		<input type="text" name="aluno_idade" id="aluno_idade" tabindex="3" title="Idade" onkeyup="return autoTab(this, 2, event);" />		</label>
arquivo ajax.js
function ajax() {};ajax.prototype.iniciar = function() {	try{		this.xmlhttp = new XMLHttpRequest();	}catch(ee){		try{			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");		}catch(e){			try{				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");			}catch(E){				this.xmlhttp = false;			}		}	}	return true;}ajax.prototype.ocupado = function() {	estadoAtual = this.xmlhttp.readyState;	return (estadoAtual && (estadoAtual < 4));}ajax.prototype.processa = function() {	if (this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200) {		return true;	}}ajax.prototype.enviar = function(url, metodo, modo) {	if (!this.xmlhttp) {		this.iniciar();	}	if (!this.ocupado()) {		if(metodo == "GET") {			this.xmlhttp.open("GET", url, modo);			this.xmlhttp.send(null);		} else {					this.xmlhttp.open("POST", url, modo);			this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");			this.xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");			this.xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");			this.xmlhttp.setRequestHeader("Pragma", "no-cache");			this.xmlhttp.send(url);		}			if (this.processa) {			return unescape(this.xmlhttp.responseText.replace(/\+/g," "));		}	}	return false;}function envia(url, metodo, modo){	var nasc = document.getElementById('aluno_nasc').value;	remoto  = new ajax();	xmlhttp = remoto.enviar(url + "?nasc=" + nasc, metodo, modo);	if(xmlhttp) {		alert("Idade insuficiente para efetuar o cadastro!");		document.getElementById("Enviar").disabled = true;	} else {		document.getElementById("Enviar").disabled = false;  }}
pagina que calcula a idade Calcula.php
<?php$Texto = request("nasc");$idade = (DateDiff("y", $Texto, FormatDateTime(Now,2)) / 365.24) 	echo $idade;/*if ( (DateDiff("y", $Texto, FormatDateTime(Now,2)) / 365.24) < 18 ) {	return false;}*/?>
Quero levar o resultado para o input aluno_idade, como faço?

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.