2013-08-27 54 views
0

我創建項目Sencha touch 2 lib使用Sencha Architect。 如何僅-​​接受用戶號碼申請Sencha touch將掩碼格式添加到編號字段

例如,當用戶輸入

,它應該顯示

上添加蒙版格式(美國電話號碼掩碼)

123-456-7890或(123)456-7890

當我嘗試使用數域它可以幫助過濾器僅-接受數,但是當我設置號碼字段的值,以123-0001只顯示122,因爲它做減123和1

請幫幫我。謝謝。

回答

0

你可以使用spinnerfield,它也允許字符和掩蓋它,然後在你做的時候設置值。

+0

它不應該是電話號碼字段的微調字段。感謝您的回答 – Hardy

+0

然後使用textfield並掩蓋它只允許數字,brakets和破折號。 –

+0

如何設置textfield只允許數字,brakets和破折號,有沒有這樣的選擇,或者我必須用'onKeyUp'事件編碼 – Hardy

2

觸摸有一個很棒的設施,您可以使用您的需求。看看Class System description,它的第一部分,其中討論的setName()的用法

總之每個配置項都有相應的適用()和update(),它是通過所有的代碼庫使用

編輯 你的情況函數你需要定義一個新的類,命名爲PhoneText

Ext.define('MyApp.ux.field.PhoneText', { 
    extend: 'Ext.field.Text', 
    xtype: 'phonetextfield', 
    applyValue: function(value) { 
     var ext = getExt(value), 
      partOne = getPartOne(value), 
      partTwo = getPartTwo(value); 

     return Ext.String.format('(%s) %s-%s', ext, partOne, partTwo) 
    } 
} 

只使用其中的輸入值轉換成您的格式你自己的版本applyValue功能。

請注意,在面板定義中,您應該使用xtype:'phonetextfield',而不是'textfield',並且添加要求:['MyApp.ux.field.PhoneText']。

+0

我對Sencha System類沒有那麼清楚,你能幫我一個例子嗎? 。謝謝 – Hardy

+0

添加示例... – olegtaranenko