Autor Tema: [SOLUCIONADO]Disparar evento automaticamente desde ef_editable  (Leído 583 veces)

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

jorozco

  • Hero Member
  • *****
  • Mensajes: 893
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Richard, un favor como puedo disparar desde un ef_editable, sin tener que dar enter o ir al botón filtrar que tiene el evento,
la idea es que sobre dicho ef_editable se captura una identificación por medio de un lector de tarjetas, queremos que se dispare automáticamente sin necesidad de salir del ef o de presionar el botón filtrar.
Funciona solo hasta mostrar el alert

{$this->objeto_js}.evt__per_doc_ide_numero__procesar = function(es_inicial) {
                if (! es_inicial) {
                    alert('ENTRA');
                    this.set_evento( new evento_ei('filtrar', true, '' ));
                }
 }

Gracias
« Última Modificación: Agosto 03, 2016, 11:52:17 am por richard »

richard

  • Moderador Global
  • *****
  • Mensajes: 3033
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Disparar evento automaticamente desde ef_editable
« Respuesta #1 on: Julio 05, 2016, 06:34:27 pm »
Hola Jhon,

para ello debes capturar el keycode via un metodo, comparar contra el que quieres y en dicho caso disparar el evento.

Vas a tener que agregar un metodo X el cual vas a asignar para que se dispare en el evento "onkeydown" , luego dentro de ese metodo evaluas el keycode como te decia arriba.

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

jorozco

  • Hero Member
  • *****
  • Mensajes: 893
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:Disparar evento automaticamente desde ef_editable
« Respuesta #2 on: Julio 29, 2016, 08:24:24 pm »
Richard, un favor me puedes asesorar el porque el siguiente JS no dispara el evento filtrar del filtro ? solo llega hasta el mensaje del alert; es decir que si pasa por ahí

{$this->objeto_js}.ini = function () {
                this.ef('lugres_docente').input().onkeyup = function(tecla) {
         if (tecla.which == 13) { 
                           alert('enter');
                            this.set_evento( new evento_ei('filtrar', true, '' ));
                        }
      }
}

he probado sin resultados con el nombre completo   evt__filtro__filtrar,  this.controlador.set_evento

Gracias
« Última Modificación: Agosto 01, 2016, 11:40:02 am por jorozco »

jorozco

  • Hero Member
  • *****
  • Mensajes: 893
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
[SOLUCIONADO]Disparar evento automaticamente desde ef_editable
« Respuesta #3 on: Agosto 01, 2016, 12:02:26 pm »
Se soluciona llamnado el evento en el mismo JS

echo "
              {$this->objeto_js}.ini = function (es_inicial) {
                this.ef('lugres_docente').input().onkeyup = function(tecla) {
               if (tecla.which == 13) {
                       {$this->objeto_js}.evt__lugres_docente__procesar (es_inicial);
                       //this.set_evento(new evento_ei('filtrar', true, '' ));
                    }
            }
              }

              {$this->objeto_js}.evt__lugres_docente__procesar = function(es_inicial) {
                var asistencia_registrada = asistencia_js[0];
                if (! es_inicial && ! asistencia_registrada) {
                    this.set_evento( new evento_ei('filtrar', true, '' ));
                }
              }
  ";