Hola, si en un form tengo 3 campos: día mes y año de nacimiento quiero que me aparezca en otro campo la edad que tiene es sujeto...
Alguien tiene el script ya hecho ?
o me pueden guiar... ?
Saludos
| ||||
Hola creo poder ayudarte a tu problema aqui te va un ejemplo: <SCRIPT> function generarfechacompleta() { document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value; return true; } function fecha( cadena ) { //Separador para la introduccion de las fechas var separador = "/" //Separa por dia, mes y año if ( cadena.indexOf( separador ) != -1 ) { var posi1 = 0 var posi2 = cadena.indexOf( separador, posi1 + 1 ) var posi3 = cadena.indexOf( separador, posi2 + 1 ) this.dia = cadena.substring( posi1, posi2 ) this.mes = cadena.substring( posi2 + 1, posi3 ) this.anio = cadena.substring( posi3 + 1, cadena.length ) } else { this.dia = 0 this.mes = 0 this.anio = 0 } } function comprobaciones() { //xyz = generarfechacompleta(); document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value; errorfecha=0 // OBTENGO LA FECHA DEL SISTEMA var fecha_actual = new Date() var fecha_sistema; dia = fecha_actual.getDate() mes = fecha_actual.getMonth() + 1 anio = fecha_actual.getYear() if (anio < 100) anio = '19' + anio else if ( ( anio > 100 ) && ( anio < 999 ) ) { var cadena_anio = new String(anio) anio = '20' + cadena_anio.substring(1,3) } if (mes < 10) mes = '0' + mes if (dia < 10) dia = '0' + dia fecha_sistema=dia + "/" + mes + "/" + anio; // DIFERENCIA DE FECHAS CadenaFecha1 = fecha_sistema CadenaFecha2 = document.registro.fecha_completa.value //Obtiene dia, mes y año var fecha1 = new fecha( CadenaFecha1 ) var fecha2 = new fecha( CadenaFecha2 ) //Obtiene objetos Date var miFecha1 = new Date( fecha1.anio, fecha1.mes, fecha1.dia ) var miFecha2 = new Date( fecha2.anio, fecha2.mes, fecha2.dia ) //Resta fechas y redondea var diferencia = miFecha1.getTime() - miFecha2.getTime() var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24)) var segundos = Math.floor(diferencia / 1000) // alert ('La diferencia es de ' + dias + ' dias,\no ' + segundos + ' segundos.') var info="Has introducido mal los siguientes campos:\n\n"; var aviso=""; ************************************************** ********** if (document.registro.dia.value=="" | document.registro.mes.value=="" | document.registro.ano.value=="" | document.registro.fecha_completa.value=="") { /*alert ("Tiene que rellenar todos los campos de este formulario para poder registrarse."); aviso="a"*/ info=info+"- NO PUEDES DEJAR NINGÚN CAMPO OBLIGATORIO EN BLANCO\n"; } var fech=document.registro.fecha_completa.value; var mes=fech.charAt(3)+fech.charAt(4); //if(aviso=="") if(document.registro.fecha_completa.value.length!= 10) { if (errorfecha!=1) {info=info+"- FECHA (El formato debe ser: dd/mm/aaaa (10 dígitos))\n";errorfecha=1 } switch(mes) { case "01": case "03": case "05": case "07": case"08": case"10": case"12": //if(aviso=="") { if(fech.charAt(0)=="3" && fech.charAt(1)!="0" && fech.charAt(1)! ="1") { if (errorfecha!=1) {info=info+"- FECHA (El día debe estar entre 1 y 31)\n";errorfecha=1 } } break; } case "04": case"06": case"09": case"11": { if(fech.charAt(0)=="3" && fech.charAt(1)!="0") { if (errorfecha!=1) {info=info+"- FECHA (El día debe estar entre 1 y 31)\n";errorfecha=1 } } break; } default : { if( mes>12) { if (errorfecha!=1) {info=info+"- FECHA (El mes debe estar entre 1 y 12)\n";errorfecha=1} } } } if(fech.charAt(2)!="/") { if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1} } if(fech.charAt(5)!="/") { if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1} } if(fech.charAt(0)!="0" && fech.charAt(0)!="1" && fech.charAt(0)!=2 && fech.charAt(0)!=3) { if (errorfecha!=1) {info=info+"- FECHA (El dia debe estar entre 1 y 31)\n";errorfecha=1} } if(fech.charAt(3)!="0" && fech.charAt(3)!="1") { if (errorfecha!=1) {info=info+"- FECHA (El mes debe estar entre 1 y 12)\n";errorfecha=1} } //aqui transformas dias para que te de la edad exacta. if (dias<6575){if (errorfecha!=1) {info=info+"- FECHA (No eres mayor de 18 años)\n";errorfecha=1}} CadenaFecha2 = document.registro.fecha_completa.value fecha2 = new fecha( CadenaFecha2 ) if (fecha2.mes==02){ if((fecha2.anio % 4)== 0){ if (fecha2.dia>29){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 29 dias)\n";errorfecha=1} }}} if (fecha2.mes==02){ if((fecha2.anio % 4)!= 0){ if (fecha2.dia>28){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 28 dias)\n";errorfecha=1} }}} if (fecha2.mes==01){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Enero no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==03){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Marzo no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==04){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Abril no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==05){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Mayo no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==06){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Junio no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==07){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Julio no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==08){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Agosto no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==09){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Septiembre no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==10){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Octubre no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==11){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Noviembre no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==12){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Diciembre no puede tener mas de 31 dias)\n";errorfecha=1} }} </SCRIPT> <INPUT id=fecha_completa type=hidden name=fecha_completa> <INPUT id=dia style="border:1px solid #000080; " tabIndex=8 maxLength=2 size=2 name=dia></font><font face="Eras Lt BT" size="2"> <B>/</B> </font> <font face="Verdana"> <font face="Eras Lt BT" size="1"> <INPUT id=mes style="border:1px solid #000080; " tabIndex=9 maxLength=2 size=2 name=mes></font><font face="Eras Lt BT" size="2"> <B>/</B> </font><font face="Eras Lt BT" size="1"> <INPUT id=ano style="border:1px solid #000080; " tabIndex=10 maxLength=4 size=4 name=ano></font><font face="Eras Lt BT" size="2"> <!--onChange="generarfechacompleta()"--> </font> </font></TD></TR> <TR vAlign=top> <p align="center"><font face="Verdana"> <a href="javascript:comprobaciones()"> <IMG tabIndex=14 alt="Conviértete en usuario registrado" src="image/Botones/siguiente_v3.gif" border=0></a></font></TD> </TABLE> bueno el script esta bueno porque yo luo uso ademas tienes la parte del html para que te guies si necesitas algo solo vuelve a consultar. espero que te sirva de ayuda. ![]() Atte. Mohamed ![]() Desde Venezuela - Isla de Margarita |
| ||||
lo probe y no me funciono, no m hace nada, me salio un error qeu podra ser?
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
disculpenme habia cortado mal el codigo aqui les va el codigo completo
Código:
espero q les sirva y avisenme si les sirvio.<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Pagina nueva 2</title> </head> <body> <SCRIPT> function generarfechacompleta() { document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value; return true; } function fecha( cadena ) { //Separador para la introduccion de las fechas var separador = "/" //Separa por dia, mes y año if ( cadena.indexOf( separador ) != -1 ) { var posi1 = 0 var posi2 = cadena.indexOf( separador, posi1 + 1 ) var posi3 = cadena.indexOf( separador, posi2 + 1 ) this.dia = cadena.substring( posi1, posi2 ) this.mes = cadena.substring( posi2 + 1, posi3 ) this.anio = cadena.substring( posi3 + 1, cadena.length ) } else { this.dia = 0 this.mes = 0 this.anio = 0 } } function comprobaciones() { //xyz = generarfechacompleta(); document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value; errorfecha=0 // OBTENGO LA FECHA DEL SISTEMA var fecha_actual = new Date() var fecha_sistema; dia = fecha_actual.getDate() mes = fecha_actual.getMonth() + 1 anio = fecha_actual.getYear() if (anio < 100) anio = '19' + anio else if ( ( anio > 100 ) && ( anio < 999 ) ) { var cadena_anio = new String(anio) anio = '20' + cadena_anio.substring(1,3) } if (mes < 10) mes = '0' + mes if (dia < 10) dia = '0' + dia fecha_sistema=dia + "/" + mes + "/" + anio; // DIFERENCIA DE FECHAS CadenaFecha1 = fecha_sistema CadenaFecha2 = document.registro.fecha_completa.value //Obtiene dia, mes y año var fecha1 = new fecha( CadenaFecha1 ) var fecha2 = new fecha( CadenaFecha2 ) //Obtiene objetos Date var miFecha1 = new Date( fecha1.anio, fecha1.mes, fecha1.dia ) var miFecha2 = new Date( fecha2.anio, fecha2.mes, fecha2.dia ) //Resta fechas y redondea var diferencia = miFecha1.getTime() - miFecha2.getTime() var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24)) var segundos = Math.floor(diferencia / 1000) // alert ('La diferencia es de ' + dias + ' dias,\no ' + segundos + ' segundos.') var info="Has introducido mal los siguientes campos:\n\n"; var aviso=""; //************************************************* *********** if (document.registro.dia.value=="" | document.registro.mes.value=="" | document.registro.ano.value=="" | document.registro.fecha_completa.value=="") { /*alert ("Tiene que rellenar todos los campos de este formulario para poder registrarse."); aviso="a"*/ info=info+"- NO PUEDES DEJAR NINGÚN CAMPO OBLIGATORIO EN BLANCO\n"; } var fech=document.registro.fecha_completa.value; var mes=fech.charAt(3)+fech.charAt(4); //if(aviso=="") if(document.registro.fecha_completa.value.length!=10) { if (errorfecha!=1) {info=info+"- FECHA (El formato debe ser: dd/mm/aaaa (10 dígitos))\n";errorfecha=1 } switch(mes) { case "01": case "03": case "05": case "07": case"08": case"10": case"12": //if(aviso=="") { if(fech.charAt(0)=="3" && fech.charAt(1)!="0" && fech.charAt(1)!="1") { if (errorfecha!=1) {info=info+"- FECHA (El día debe estar entre 1 y 31)\n";errorfecha=1 } } break; } case "04": case"06": case"09": case"11": { if(fech.charAt(0)=="3" && fech.charAt(1)!="0") { if (errorfecha!=1) {info=info+"- FECHA (El día debe estar entre 1 y 31)\n";errorfecha=1 } } break; } default : { if( mes>12) { if (errorfecha!=1) {info=info+"- FECHA (El mes debe estar entre 1 y 12)\n";errorfecha=1} } } } if(fech.charAt(2)!="/") { if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1} } if(fech.charAt(5)!="/") { if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1} } if(fech.charAt(0)!="0" && fech.charAt(0)!="1" && fech.charAt(0)!=2 && fech.charAt(0)!=3) { if (errorfecha!=1) {info=info+"- FECHA (El dia debe estar entre 1 y 31)\n";errorfecha=1} } if(fech.charAt(3)!="0" && fech.charAt(3)!="1") { if (errorfecha!=1) {info=info+"- FECHA (El mes debe estar entre 1 y 12)\n";errorfecha=1} } //aqui transformas dias para que te de la edad exacta. if (dias<6575){if (errorfecha!=1) {info=info+"- FECHA (No eres mayor de 18 años)\n";errorfecha=1}} CadenaFecha2 = document.registro.fecha_completa.value fecha2 = new fecha( CadenaFecha2 ) if (fecha2.mes==02){ if((fecha2.anio % 4)== 0){ if (fecha2.dia>29){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 29 dias)\n";errorfecha=1} }}} if (fecha2.mes==02){ if((fecha2.anio % 4)!= 0){ if (fecha2.dia>28){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 28 dias)\n";errorfecha=1} }}} if (fecha2.mes==01){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Enero no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==03){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Marzo no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==04){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Abril no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==05){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Mayo no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==06){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Junio no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==07){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Julio no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==08){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Agosto no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==09){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Septiembre no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==10){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Octubre no puede tener mas de 31 dias)\n";errorfecha=1} }} if (fecha2.mes==11){ if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Noviembre no puede tener mas de 30 dias)\n";errorfecha=1} }} if (fecha2.mes==12){ if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Diciembre no puede tener mas de 31 dias)\n";errorfecha=1} }} } if(info=="Has introducido mal los siguientes campos:\n\n") { anos= dias / 365; anos1 = Math.floor(anos) compru = "\edad: " + anos1; if (confirm(compru)) document.registro.submit() } else alert(info); } </SCRIPT> <form name="registro" method="POST"> <INPUT id=fecha_completa type=hidden name=fecha_completa> <INPUT id=dia style="border:1px solid #000080; " tabIndex=8 maxLength=2 size=2 name=dia></font><font face="Eras Lt BT" size="2"> <B>/</B> </font> <font face="Verdana"> <font face="Eras Lt BT" size="1"> <INPUT id=mes style="border:1px solid #000080; " tabIndex=9 maxLength=2 size=2 name=mes></font><font face="Eras Lt BT" size="2"> <B>/</B> </font><font face="Eras Lt BT" size="1"> <INPUT id=ano style="border:1px solid #000080; " tabIndex=10 maxLength=4 size=4 name=ano></font><font face="Eras Lt BT" size="2"> <!--onChange="generarfechacompleta()"--> </font> </font></TD></TR> <TR vAlign=top> <p align="center"><font face="Verdana"> <a href="javascript:comprobaciones()"> <IMG tabIndex=14 alt="Conviértete en usuario registrado" src="image/Botones/siguiente_v3.gif" border=0></a></font></TD> </TABLE> </form> </body> </html> Atte. Mohamed Desde Venezuela - Isla de Margarita |
| |||
![]() Hola amigos, la sgte es para preguntarle si saben donde puedo encontrar el codigo fuente de un programita que me calcule la edad de una persona ademas me diga si el mes que nacio fue bisiesto o no, y tambien decirle cuando va a ser su proximo cumpleaños y cuantos dias,meses y semanas tiene de estar con vida de antemano muchisima gracias ![]() |
| ||||
en PHP ? bueno, hola, antes que nada bienvenido a los fotos !!! MIra en foros del web tienes un foro por cada temática, este es el foro de HTML, nadie sabe nada de PHP, si tu duda es en ese lenguaje pues entra al foro de PHP y pregunta ahí...Pues te sabrán ayudar má que nosotros... Saludos y esperoq ue estos foros te sean de tanta utilidad como a nosotros...
__________________ Esteban Quintana |