我应该在Genexus上的表单刷新/请购单的用户控件中使用什么事件?

时间:2017-12-22 17:51:51

标签: javascript jquery ajax genexus

每当我需要向服务器发出ajax请求而不刷新页面时,Genexus应该发出一些我可以在我的UC中使用的事件。

这个事件究竟是什么,如果没有,我怎么能知道JS中用于Genexus用户控件的每个事件?

即: 如果我单击可能在另一个表中搜索值的UserAction然后为我检索,我该如何捕获它?

另一种情景:

我正在向服务器发出请求并检索它的信息。我需要得到    $(gx-warning-message).text(); 但如果我的请求仍在加载,当我执行我的函数时,它将不返回任何内容,因为该事件仍在加载信息。

为了避免这种情况,我正在进行循环,但这并不是解决问题的优雅方法。

  $(".Button").click(function() {
  var timesRun = 0;
  var interval = setInterval(function(){
      timesRun += 1;
      if(timesRun === 60){
          clearInterval(interval);
      }
      if ($(".gx-warning-message").text().length > 0) {
        toastrgx();
        $(".gx-warning-message").text('');
      }
  }, 200);
});

那么,我怎样才能让它变得更好?

由于

1 个答案:

答案 0 :(得分:2)

如果您希望每次触发GeneXus用户事件时收到通知,您都可以订阅gx.onafterevent事件。例如:

gx.fx.obs.addObserver('gx.onafterevent', scope, function () {
    // Here goes the code you want to execute 
    // every time a GeneXus event is fired
});

scope是您要设置为第三个参数函数的this的对象。