Autor Tema: [SOLUCIONADO] Agregar/Modificar/Quitar mascara en tiempo de ejecución  (Leído 97 veces)

0 Usuarios y 1 Visitante están viendo este tema.

obelgran

  • Full Member
  • ***
  • Mensajes: 110
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: toba
  • Teléfono laboral: (0341) 4201245
Buenas

Uso toba 3.0.25
Estoy tratando  de hacerlo y no funciona ninguna de las dos
Uso las siguientes instrucciones  en la extension JS del form:

Código: [Seleccionar]
{$this->objeto_js}.evt__cuit__v = function(es_inicial) {

var expreg = this.ef('mascara')
var texto  = this.ef('cuit').get_estado();

if (empty(expreg)){  // trato de eliminar la másca
var masc = new mascara_generica(\"\");
this.ef('cuit').set_mascara(masc);
}else{
                                var masc = new mascara_generica(\"/^[0-9]{2}\.[0-9]{3}\.[0-9]{3}$/\");  // trato de poner máscar
this.ef('cuit').set_mascara(masc);
                        }


Bueno, agradeceré cualquier tipo de ayuda!!
« Última Modificación: agosto 29, 2019, 09:08:12 am por obelgran »

richard

  • Moderador Global
  • *****
  • Mensajes: 2656
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Agregar/Modificar/Quitar mascara en tiempo de ejecución
« Respuesta #1 : agosto 13, 2019, 03:06:35 pm »
Hola Oscar,

si le pasas null como parametro al metodo set_mascara deberia eliminarte la mascara actual.

Por otro lado,  lo que me parece raro es el nombre del metodo...  eso responderia a un evento "v" del campo "cuit", si no es asi como lo pensaste, puede que no este llegando nunca a pasar por ahi debido a ello.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

obelgran

  • Full Member
  • ***
  • Mensajes: 110
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: toba
  • Teléfono laboral: (0341) 4201245
Re:Agregar/Modificar/Quitar mascara en tiempo de ejecución
« Respuesta #2 : agosto 14, 2019, 03:20:06 pm »
Gracias Richard!!
Si, efectivamente había algo raro !!!

Malas mias, cometí varios erroes:

El primero: quice poner una expresión regular donde iba una máscara.

Después está la llamada a la funcion...

Bueno lo modifiqué y está funcionado bien aparentemente...

Coloco o quito  expresión regular para validar el formato y contenido del campo.
La máscar biene de una tabla de tipos de documento...

Código: [Seleccionar]
               /**
* Refresca el estado de extranjero de un TD
*/
{$this->objeto_js}.refrescar_extranjero = function(es_inicial) {

if (!es_inicial) {
parametros=this.ef('id_tipodoc').get_estado();

this.controlador.ajax('get_td_extranjero', parametros, this, this.actualizar_td_e);
}
}

{$this->objeto_js}.actualizar_td_e = function(resultado){

if ( resultado['extranjero'] == 'NO' )
{
//this.ef('id_pais_doc').set_opciones(array(array('pais'=>54, 'nombre' =>'Argentina'));
//this.ef('id_pais_doc').set_solo_lectura(true) ;
}

var expreg = resultado['mascara']  ;
if ( expreg ){
//this.ef('cuit').set_expreg('/^[0-9]{2}\.[0-9]{3}\.[0-9]{3}$/');
this.ef('cuit').set_expreg(expreg);
}else{
this.ef('cuit').set_expreg('');
}

Si no da errores depués de las pruebas de rigor, lo pongo como solucionado!

GRACIAS !!
« Última Modificación: agosto 29, 2019, 09:08:25 am por obelgran »

richard

  • Moderador Global
  • *****
  • Mensajes: 2656
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Agregar/Modificar/Quitar mascara en tiempo de ejecución
« Respuesta #3 : agosto 15, 2019, 12:15:46 pm »
Hola Oscar,
Coloco o quito  expresión regular para validar el formato y contenido del campo.
ok, lo que necesitabas entonces era mas una validacion(expreg) que un formateo del dato mostrado (mascara) .
Podrias ademas agregarle una mascara para que se muestre tal como lo esperas (aunque seria algo mas tipo  (##-####-##) de acuerdo a la ER que dejaste en el comentario y deberias devolverlo como dato aparte en la llamada ajax.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

obelgran

  • Full Member
  • ***
  • Mensajes: 110
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: toba
  • Teléfono laboral: (0341) 4201245
Re:Agregar/Modificar/Quitar mascara en tiempo de ejecución
« Respuesta #4 : agosto 29, 2019, 09:07:52 am »
Bueno, está funcionando bien!!
En definitiva solo se está usando la expresión regular y con eso alcanza.
Lo paso a SOLUCIONADO
Gracias