SOLUCIONADO: Pintar ef_fecha según su estado

Hola! es posible pintar un ef_fecha de rojo en caso de que se cumpla una cierta condición (por ejemplo, que la fecha sea anterior a hoy)?
De ser posible, supongo que sería dentro de la extensión del formulario (evento procesar, no?) que contiene el ef_fecha.
Ahora bien, el tema de pintarlo marcaría un “error” pero no debe detener la ejecución del formulario.
De ser posible, por favor, indiquenme como ya que supongo que debe ser algo como:
this.ef(‘fecha’).color_de_fondo(‘FFFFFF’);
Pero no tengo mucho manejo de JS.
Gracias!!!

Hola Martin,

en el mejor de los casos lo harias con CSS, utilizando una mezcla de estas dos funciones:

http://desarrollotoba.siu.edu.ar/toba_editor_trunk/doc/api_js/ef.html#nodo

http://desarrollotoba.siu.edu.ar/toba_editor_trunk/doc/api_js/GLOBALES.html#!s!agregar_clase_css

La otra manera es modificar el estilo del elemento directamente mediante JS. Para eso necesitas recuperar el tag del elemento, eso lo haces con la funcion:

http://desarrollotoba.siu.edu.ar/toba_editor_trunk/doc/api_js/ef.html#input

Saludos

Bien! opté por la solución en JS, aunque tuve que pelearme un toque… jeje…
Y quedó funcionando.
Acepto cualquier sugerencia ya que JS no es para nada mi fuerte.
Gracias!!!


{$this->objeto_js}.evt__fecha_control__procesar = function(es_inicial)
{
	hoy = new Date();
	hoy = new Date(hoy.getFullYear(),hoy.getMonth(),hoy.getDate());
	ef_fecha = new Date(this.ef('fecha_control').fecha());
	ef_style = this.ef('fecha_control').input()['style'];
	if (ef_fecha < hoy) {
		ef_style['backgroundColor'] = '#FF3300';
	} else {
		ef_style['backgroundColor'] = '#FFFFFF';
	}
}

Costo un poco acceder a las propiedades del objeto, pero me valí de esta porción de código:


	// el bucle permite visualizar todas las propiedades y métodos de un objeto
	a = this.ef('fecha_control').input();
	for (var x in a['style']) {
   		document.write(x + ' = ' + a[x] + '
');
	}