Aplicar máscara a ef en runtime

Buenas gente. Estoy intentando aplicar diferentes máscaras a un ef en ejecución, a partir de un valor de máscara definido en la base de datos, hay algunos hilos viejos en el foro donde se trata y se soluciona el tema, pero no han posteado la solución.

Estoy haciendo algo similar a lo de este hilo
http://foro.comunidad.siu.edu.ar/index.php?topic=7685.msg32687

Cualquier aporte será bienvenido.

Saludos.

Hola Alejandro,

esas mascaras son fijas o se pueden ir incorporando via un ABM?.. la solucion del hilo que pusiste es valida, no se en que version estes… pero si es de las ultimas te deberia funcionar.

Por otro lado, si tenes un conjunto de mascaras finito (y con comportamiento particular), podrias directamente generarlas en JS (similar a lo que hay en mascaras.js) y luego simplemente hacer la asignacion, ciertamente vas a tener mucho mas control sobre la misma y su comportamiento que usando una mascara generica. Ademas, esto te permitiria directamente enviar la mascara desde el servidor… a menos que dependa del valor de algun campo en el formulario.

Saludos

Hola Richard, buen día.

Estoy en la versión 2.7. Las máscaras se van a ir definiendo a partir de un ABM, por lo tanto el valor de la máscara va a depender del valor de un campo de un formulario.

Teniendo en cuenta el hilo que te pasé, para evitar controles recursivos me convendría hacer el control en el evt__validar del ef en cuestion?

Saludos.

Buen dia Alejandro,

Bien, eso implica que en el procesar de dicho campo vas a cambiar la mascara para el otro ef.

Teniendo en cuenta el hilo que te pasé, para evitar controles recursivos me convendría hacer el control en el evt__validar del ef en cuestion?

A que te referis con controles recursivos?

Me refiero a que si lo pongo en el procesar del ef en cuestión, navegando con firebug veo este mensaje:

too much recursion
o[e] = (!!window.Event) ? new Function(“event”, x) : new Function(x);

El error es en el basicos.js.

Saludos

Si la mascara del ef B depende del valor del ef A… la misma la tenes que cambiar en el evt__efA__procesar, el ef no puede cambiarse una mascara a si mismo a menos que lo hagas unicamente para el caso inicial… que no te agregaria nada porque se dispara en cuanto llega la pagina al cliente.

Tenes recursion porque estas cambiandole la mascara a B desde el evt__efB__procesar, entonces cuando cambia el ef vuelve a dispararse dicho metodo.

Si no lo tenes asi, entonces te estoy entendiendo mal… pasteame el codigo en cuestion asi te puedo orientar mejor.

Saludos

Una vez más tenés razón Richard, estaba cometiendo ese error más que tonto, por eso había recursión.

Muchas gracias!

Otra cosa Richard,

es posible cambiar expresiones regulares y placeholders en ejecución para un ef en particular, al igual que las máscaras?

Saludos.

Hola Alejandro,

por API no hay forma… lo que no quiere decir que no pueda hacerse.

Para el caso de la ER como se fija al momento de instanciar el objeto… tendrias que modificar directamente la variable interna que la contiene, una chanchada pero sobre gustos…

Para el caso del placeholder, lo haces directamente via DOM… lo unico que haces por API es pedir el input correspondiente a dicho ef.

Saludos