Bueno hasta el momento ya solucione el asunto momentaneamente, aqui les dejo el código, despues estare trabajando para generar la fecha automatica dentro de un solo input, cuando tenga algo de tiempo...
JavaScript
:
Código:
<script language="javascript">
/*Script para escribir la fecha en tres input distintos
Valida la fecha sin tomar en cuenta los dias del mes y los años bisiestos
Realizado por Er_Duque
*/
function valdia(campodia, caracter, mes){
valor = campodia.value;
largo = valor.length;
if (valcaracter(campodia, caracter)){
if (largo==1){
if (caracter>3){
mes.focus();
}
}else{
if (valor<=31){
mes.focus();
}else{
alert("Debe introducir un día menor a 31");
campodia.value="";
campodia.focus();
}
}
}
}
function valmes(campomes, caracter, anho){
valor = campomes.value;
largo = valor.length;
if (valcaracter(campomes, caracter)){
if (largo==1){
if (caracter>1){
anho.focus();
}
}else{
if (valor<=12){
anho.focus();
}else{
alert("Debe introducir un mes menor a 12");
campomes.value="";
campomes.focus();
}
}
}
}
function valanho(campoano, caracter){
valor = campoanho.value;
largo = valor.length;
valcaracter(campoanho, caracter);
}
function valcaracter(texto, caracter){
//Parte de la Funcion tomada de un script de Tunait.
//Separadores de Miles mientras se escribe
//http://javascript.tunait.com
crtr = true;
valor = texto.value;
largo = valor.length;
if(isNaN(caracter)){
carcter = new RegExp(caracter,"g");
valor = valor.replace(carcter,"");
texto.value = valor;
return false;
}
if (crtr==true){
texto.value = valor;
return true;
}
}
Creacion de los input en html:
Código HTML:
<input type="text" name="txtdia" maxlength="2" class="FONTNORMAL" size="3" onKeyUp="javascript:valdia(this,this.value.charAt(this.value.length-1),document.frmprincipal.txtmes)">/
<input type="text" name="txtmes" maxlength="2" class="FONTNORMAL" size="3" onKeyUp="javascript:valmes(this,this.value.charAt(this.value.length-1),document.frmprincipal.txtanho)">/
<input type="text" name="txtanho" maxlength="4" class="FONTNORMAL" size="6" onKeyUp="javascript:valanho(this,this.value.charAt(this.value.length-1))">
Estos input pueden estar dentro de un TD de una tabla.
creo que para lo que hace esta bien, seguro se puede optimizar algo mas por alli pero ni idea.
Saludos y espero que les sea util.
cualquier sugerencia será bien agradecida.