1) estoy trabajando con prototype
2) tengo 3 funciones que andan bien con IE6, IE8 y Chrome
Pero no andan en Firefox :)
Les dejo las funciones:
Código:
se aceptan sujerencias :) // modo de uso: $('id-control').observe('keyup', enMayusculas); function enMayusculas(evt) { evt.srcElement.value = evt.srcElement.value.toUpperCase(); } // modo de uso: $('id-control').observe('keyup', enMinusculas); function enMinusculas(evt) { evt.srcElement.value = evt.srcElement.value.toLowerCase(); } // da formato a una fecha para que sea validada como correcta // modo de uso: $('id-control').observe('blur', aFecha); function aFecha(evt) { var fecha = ''; if (evt.srcElement=='undefined') { fecha = (arguments[1]); } else { fecha = evt.srcElement.value; } // reemplaza los '-' por '/' fecha = fecha.gsub('-', '/'); // completa con 0 al día y al mes var pos1 = fecha.indexOf('/'); var pos2 = fecha.indexOf('/', pos1+1); var dia = fecha.substr(0, pos1); var mes = fecha.substr(pos1+1, pos2-(pos1+1)); var anio = fecha.substr(pos2+1); if (dia.length==1) { dia = '0' + dia; } if (mes.length==1) { mes = '0' + mes; } // completa los primeros 2 dígitos del año if (anio.length==2) { var d = new Date(); d = d.getYear() + ''; if (anio>d.substr(2,2)) { anio = '19' + anio; } else { anio = '20' + anio; } } // pone la fecha corregida fecha = (dia + '/' + mes + '/' + anio).replace('//', '/'); evt.srcElement.value = fecha=='/'?'':fecha; }