Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2009, 14:09
diegoturriaga
 
Fecha de Ingreso: noviembre-2004
Ubicación: Buenos Aires
Mensajes: 34
Antigüedad: 20 años, 2 meses
Puntos: 0
eventos multiexplorador

bien... la verdad que no sabía que titulo poner

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:
// 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;
}
se aceptan sujerencias :)