ExtJs - Невозможно получить предопределенное значение идентификатора при клике - PullRequest
0 голосов
/ 19 октября 2010

Когда я нажимаю на кнопку, она запускает ajax-вызов и отправляет идентификатор кнопки с запросом. Все работает, за исключением того, что мой предопределенный идентификатор кнопки не приходит с запросом. Он имеет значение ext6-gen. Кто-нибудь знает, что я собираюсь сделать для получения своего предопределенного идентификатора.

//i defined a container with a textfield and button
var c2 = Ext.extend(Ext.Container, {
   id : c2, initComponent : function() {
      this.items = [ {
         xtype : 'textfield', id : 'c3'}
      , {
         xtype : 'button', id : 'c4'} //it has id!!!
      ], c2.superclass.initComponent.call(this); }
   }
); 

Ext.onReady(function() {
   var HttpReq = function(e, t) {
      var elm = Ext.get(e.target); 
      Ext.Ajax.request( {
         loadMask : true, 
         url : 'Default.sample', 
         params : {id : elm.id}, 
         success : function(resp) {alert(resp.responseText); }
         }); 
      }; 
      Ext.get('c4').on('click', HttpReq); //i assign click event to button
}); 

я что-то нашел. Кнопочный элемент ext оборачивает элемент ввода html таблицей. Этот HTML-элемент имеет идентификатор, отличный от элемента Ext.

Но все еще не знаю, как получить элемент кнопки ext при вызове события.

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 октября 2010

вместо

params : {id : elm.id}, 

попробовать

params : {id : e.id}, 
0 голосов
/ 19 октября 2010

Наконец я нашел!

я знаю, что это глупо, но потребовался день, чтобы найти его: (.

я просто изменяю e.id на this.id, затем он отправляет идентификатор элемента ext оболочки.

Ext.onReady(function() {
   var HttpReq = function(e, t) {
      //var elm = Ext.get(e.getTarget());
      //var targetEl = Ext.fly(elm.id);
      //alert(this.id);
      //elm.highlight();
      Ext.Ajax.request( {
         loadMask : true, url : 'Default.sample', params : {
            id : this.id}
         , success : function(resp) {
            alert(resp.responseText); }
         }
      ); }; 

сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...