2013-04-21 198 views
1

獲得價值我剛剛得到使用煎茶觸摸2框架開始,和我有複製中跨設備形式的行爲有些難度。我有一個簡單的搜索欄,當用戶輸入一個值(所有數字),並選擇它代表着什麼(一個賬戶,訂單或電話號碼)。上的搜索按鈕時,一個用戶點擊/水龍頭,它抓住輸入字段的值和當前數據按壓式按鍵和使得一個AJAX查詢的PHP腳本。在個人電腦上,它沒有問題。在iPad(6.1.3)上,即使填充字段,GET請求也不會命中服務器,並且getValue函數會報告NULL。我在這裏錯過了什麼?煎茶觸摸 - 從數場

Ext.define('bazooka.view.Main', { 
extend: 'Ext.tab.Panel', 
requires: ['Ext.form.Panel', 'Ext.form.FieldSet', 'Ext.field.Text', 'Ext.field.Email', 'Ext.field.TextArea', 'Ext.field.Number', 'Ext.SegmentedButton'], 

config: { 
    fullscreen: true, 
    tabBar: { 
     ui: Ext.filterPlatform('blackberry') || Ext.filterPlatform('ie10') ? 'dark' : 'light', 
     layout: { 
      pack : 'center', 
      align: 'center' 
     }, 
     docked: 'bottom' 
    }, 
    items: [ 
     { 
      title: 'Home', 
      iconCls: 'home', 
      html: 'This will have news and updates for the department of the currently authenticated user.' 
     }, 
     { 
      title: 'Lookup', 
      iconCls: 'search', 
      items: [ 
       { 
        xtype: 'toolbar', 
        ui: Ext.filterPlatform('blackberry') || Ext.filterPlatform('ie10') ? 'dark' : 'light', 
        docked: 'top', 
        items: [ 
         { 
          xtype: 'numberfield', 
          id: 'viki_searchbox', 
          autoComplete: false, 
          autoCorrect: false, 
          docked: 'left', 
          maxWidth: '40%' 
         }, 
         { 
          xtype: 'segmentedbutton', 
          id: 'viki_seg_btn', 
          allowDepress: true, 
          items: [ 
           { 
            id: 'account', 
            iconCls: 'user' 
           }, 
           { 
            id: 'workorder', 
            iconCls: 'time' 
           }, 
           { 
            id: 'telephone', 
            iconCls: 'more' 
           } 
          ] 
         }, 
         { 
          xtype: 'button', 
          id: 'viki_searchbutton', 
          docked: 'right', 
          iconCls: 'search', 
          handler: function() { 
           var searchtype = Ext.getCmp('viki_seg_btn').getPressedButtons()[0]["id"]; 
           var searchvalue = Ext.getCmp('viki_searchbox').getValue(); 
           Ext.Viewport.setMasked({ 
            xtype: 'loadmask', 
            message: 'Searching...' 
           }); 
           Ext.Ajax.request({ 
            url: 'viki.php', 
            method: 'GET', 
            headers: { 
             "Content-Type": "application/xml" 
            }, 
            disableCaching: false, 
            params: { 
             type: searchtype, 
             sv: searchvalue 
            }, 
            timeout: 3000, 
            failure: function(response) { 
             console.log("oops"); 
            } 
           }); 
           Ext.Viewport.setMasked(false); 
          } 
         } 
        ] 
       } 
      ] 
     } 
    ] 
} 
}); 

回答

0

我不使用處理器的時候,我更喜歡點擊活動。

的問題可能是首選。

另外,如果我是你,我會使用項目Id,而不是Id和getComponent(),而不是getCmp()。

由於您的搜索按鈕是在同一視圖形式它,你將能夠檢索值

searchbutton.getParent().getComponent('itemId').value; 

我做這些recommandations,一直我使用全局對象(如ID時,經歷了很多的煎茶奇怪的行爲或getCmp)。 itemId和getComponent()會更安全。

0

看起來像你的觀點是一個numberfield。 如果用戶輸入具有非數字字符,則Number字段將返回null。