2011-11-16 53 views
1

我有一個TextInput框。我只能在文本框中限制多於1,2,3,4,5,6,7,8,9,10個數字的範圍。如果我在上面輸入任何數字,它應該被允許。如果輸入11或以上,則不允許輸入。它應該允許在文本框中輸入1-10個數字。 如果輸入11或0,則不應該允許,並且應該不允許超過10。限制Flex中的textInput Box中的數字1-10

請幫助我如何在Flex中的TextInput Box中進行限制。如果有人知道正則表達式,請幫助我。

+0

它是否正在解決我寫的問題? –

+0

無法正常工作。我甚至無法輸入任何數字。 – Ravikanth

回答

5

如果用戶可以輸入的唯一東西是數字1到10,則
請嘗試使用NumericStepper組件。

該組件您描述內置功能

例如:

<s:NumericStepper minimum="1" maximum="10" value="0" stepSize="1" maxChars="10"/> 

其中:

  • 最低是允許的最小值
  • 最大是最大允許值È
  • 是初始值
  • maxChars屬性是字符的量允許
  • 步長是通過該量可以用箭頭按鈕增加或減少的量

退房者:

乾杯

+0

+1是一個很好的選擇。它不回答這個問題,但它可能是原始海報所需要的。 – JeffryHouser

+0

但它要求默認值。如何給這個步進默認值 – Ravikanth

+0

編輯我的帖子回答你的評論 –

3

您可以限制使用restrict屬性中輸入到TextInput的字符。如果你只想讓數字輸入,你可以這樣做:

<s:TextInput restrict="0-9" /> 

您可以限制使用maxChars property進入的TextInput字符的總數。

<s:TextInput maxChars="10" /> 

沒有理由他們不能合併

<s:TextInput maxChars="10" restrict="0-9" /> 

如果你只接受數字輸入,您也可以使用NumericStepper組件。

<s:NumericStepper maximum="1" maximum="9999999999" /> 

我不確定NumericSteppers是否有上限。

這是否回答你的問題?

+0

maxchar類型是'maxChars:int'我們可以給它在''0-9「'範圍? –

+0

@ M.S.Nayak你是對的;那是我的錯字。我修好了它! – JeffryHouser

0

使用mx:TextInput因爲它有textInput事件

<mx:TextInput id="ti" restrict="0-9" textInput="Myfun(event)"/> 

那麼你Myfun將是:

private function Myfun(ev:TextEvent):void 
     { 
      if(Number(ti.text + ev.text)>10) 
      ev.preventDefault(); 
     } 

這會不會讓你鍵入數字大於10,如果你想

10位數字使用..

<s:TextInput maxChars="10" restrict="0-9" /> 
+0

這不工作.. – Ravikanth

+0

@Ravi K Chowdary你使用'mx:TextInput'嗎?上面的代碼應該完美運行..你試過了嗎?什麼不工作? –

+0

我用s:TextInput。此textInput字段在flex4中不可用。 – Ravikanth