2015-12-22 73 views
0

我一直在撞牆,試圖讓一個KeyPress或KeyDown事件在Sencha Touch文本框上觸發幾天。Sencha Touch - 在NumberField上添加KeyDown事件

我試圖完成兩兩件事: 1)限制最大長度爲3, 2)確保用戶只輸入數字(沒有字母或特殊字符)

難道就沒有辦法使用JavaScript來附加這些事件?我正在使用Sencha 2.3.1

更新:我試過使用數字字段,也使用maxLength ...既不工作。

var numberfield = 
    { 
     xtype: 'numberfield', 
     value: textValue, 
     readOnly: true, 
     cls: 'opBuyoffPartialCell', 
     inputCls: 'opBuyoffCenterText', 
     maxLength: 3, 
     enforceMaxLength: 3 
    }; 
+1

爲什麼不能只使用[編號字段](https://docs.sencha.com/touch/2.3.1/#!/api/Ext.field.Number)組件而不是文本字段, maxLength爲3? –

回答

0

As @MonicaOlejniczak寫道,使用numberfield

如果你不想使用numberfield,至少看看它的代碼,發現煎茶使用

this.getComponent().input.dom.setAttribute("type", "number"); 

,以確保用戶只能輸入數字。這樣,你的代碼允許的「數字」,,,也將被照顧。

爲了確保maxLength,sencha已經有maxLength config,它在編號字段和文本字段都可用。

+0

不幸的是,使用數字字段不會阻止用戶輸入字母。另外,我試過使用maxLength - 它似乎對允許的條目數量沒有任何影響。我已經粘貼了我上面更新的代碼。 –

相關問題