當我爲數字步進器設置最大值和最小值時,仍然可以輸入超出該範圍的數字。但如果輸入的數字大於此值,它會自動獲得最大值。我怎樣才能顯示這種情況下的錯誤,但仍然保持最大值和最小值?當數字步進器的值超出範圍時顯示錯誤
1
A
回答
2
當用戶打ENTER從的text input
鍵或focus out
的NumericStepper
你可以把你的邏輯來檢查,如果輸入的號碼是在以下範圍內:
<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script><![CDATA[
import mx.controls.Alert;
private var isProcessRequiredOnFocusOut:Boolean = true;
private function addEventListeners():void {
numericStepper.addEventListener(KeyboardEvent.KEY_DOWN, checkRange, true);
numericStepper.addEventListener(FocusEvent.FOCUS_OUT, checkRange, true);
}
private function checkRange(event:Event):void {
if (event is KeyboardEvent && (event as KeyboardEvent).keyCode == Keyboard.ENTER) {
isProcessRequiredOnFocusOut = false;
processRangeCheck();
}
else if (event is FocusEvent && (event as FocusEvent).type == FocusEvent.FOCUS_OUT
&& isProcessRequiredOnFocusOut) {
processRangeCheck();
}
}
private function processRangeCheck():void {
var typedNumber:Number = Number(numericStepper.textDisplay.text);
if (typedNumber > numericStepper.maximum || typedNumber < numericStepper.minimum) {
Alert.show("The typed number " + typedNumber + " is out of range.", "Out of Range Warning");
}
isProcessRequiredOnFocusOut = true;
}
]]></fx:Script>
<s:Panel title="Show Error message when Typed Number is out of range in Numeric Stepper."
verticalCenter="0" horizontalCenter="0">
<s:VGroup paddingTop="10" paddingLeft="10"
paddingRight="10" paddingBottom="10"
horizontalAlign="center"
width="100%">
<s:Label text="The valid range of Numeric Stepper is 10-20."/>
<s:NumericStepper id="numericStepper"
minimum="10"
maximum="20"
creationComplete="addEventListeners()"/>
<s:Button label="Click here to focus out from the Text Input of Numeric Stepper."/>
</s:VGroup>
</s:Panel>
</s:Application>
2
好,以直觀的方式檢查對最大和NumericStepper
組件-while仍然得到進入它的最低值輸入的數值,將聽取KEY_UP
鍵盤事件的textField
財產在NumericStepper
實例:
import fl.controls.NumericStepper;
import flash.events.KeyboardEvent;
var numericStepper:NumericStepper = new NumericStepper();
numericStepper.maximum = 250;
numericStepper.minimum = 3;
numericStepper.textField.addEventListener(KeyboardEvent.KEY_UP, function(e:Event):void {
var n:Number = Number(numericStepper.textField.text);
if (n > numericStepper.maximum || n < numericStepper.minimum) {
trace("Error: Out of Range!");
}
});
addChild(numericStepper);
+0
我找不到textField屬性數字步進器 – Waveter
0
使用mx_internal屬性是指當NumericStepper
的inputField 10相關問題
- 1. 當數字範圍超過40時,堆棧溢出錯誤
- 2. 超出範圍錯誤與字數
- 3. 超出範圍的錯誤
- 4. 錯誤:Postgresql中的日期/時間字段值超出範圍
- 5. IOS在顯示圖片時Swift超出範圍錯誤
- 6. Highcharts - 顯示超出範圍的數據
- 7. Mysql2 ::錯誤:超出範圍值
- 8. 錯誤:值超出範圍:下溢
- 9. 當使用SQLFetch()和SQL_C_FLOAT時出現「數值超出範圍」錯誤
- 10. NumPy的指數超出範圍錯誤
- 11. xmlEscapeEntities:字符超出範圍 - 錯誤
- 12. ASP.NET GridView的DataKeys錯誤 - 參數超出範圍的指數超出範圍
- 13. Golang時錯誤:每月超出範圍
- 14. 列表索引範圍的錯誤時,沒有超出範圍
- 15. 使用選取器視圖時指數超出範圍錯誤
- 16. 參數'0'超出範圍錯誤
- 17. 關於指數超出範圍錯誤
- 18. 指數超出範圍異常錯誤
- 19. Java數組錯誤(不超出範圍)
- 20. 數組索引超出範圍錯誤
- 21. 錯誤:索引參數超出範圍
- 22. 指數超出範圍錯誤
- 23. 數值超出範圍
- 24. Python中的縮進錯誤和索引超出範圍錯誤
- 25. 索引錯誤:字符串超出範圍,但它不應超出範圍?
- 26. 運行時錯誤'9'下標超出範圍 - 複製範圍
- 27. 指數超出範圍錯誤,當它不是的
- 28. 如何防止超出範圍的日期時間值錯誤?
- 29. 當引用單元格時下標超出範圍錯誤
- 30. 當QList索引超出範圍時發生捕獲錯誤
它適用於我。非常感謝你 – Waveter