ActionScript中等效的JavaScript代码

时间:2012-11-01 04:34:21

标签: javascript actionscript-3 flex flash-builder mxml

大家好我是两种语言的新手...我在JavaScript和HTML中找到了一个加扰数字的例子我希望将这些代码转换成ActionScript代码,这些语言看起来与我类似,但是当我在Flash中编译它时生成器没有任何反应......我想了解如何使用ActionScript和MXML代码来完成示例...

JavaScript代码部分我不明白如何在ActionScript中执行此操作:

function check(value)
{
    if ( value != Math.round(value) )
   alert("You must enter an integer in this input box.");
}
function generate( )
{
var minval = parseInt(**document.form.min.value**);
    if ( isNaN(minval) || minval != parseFloat(**document.form.min.value**))

并使用HTML中的TextInput实现此目的:

<INPUT TYPE="text" NAME="**min**" VALUE="" ONCHANGE="check(**this.value**)">

我不知道将它留在AS3和MXML中...... 我试过了:

public function generate()
{
var minval = parseInt(**min**);
if ( isNaN(minval) || minval != parseFloat(**min**))
{

和MXML:

<s:TextInput id="**min**" change="**check(this)**" />

你可以看到我很失落......

2 个答案:

答案 0 :(得分:1)

<fx:Script>

<![CDATA[

import flash.events.Event;
import mx.controls.Alert;
public function check(event:Event):void
{               
        if (isNaN(parseInt(min.text)) || isNaN(parseFloat(min.text))) {
            /* Do something here*/
            Alert.show("Input a number", "Error");
        }               
}
]]>
</fx:Script>
<s:TextInput id="min" change="check(event)"/>

此代码按您想要的方式工作。 请记住,parseInt函数忽略有效整数后的任何尾随非数字字符。例如,如果您先输入“a”,则代码有效,但如果输入1a则无效。有关该功能的更多细节可以在这里找到

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/package.html#parseInt()

答案 1 :(得分:1)

只是评论:

输入元素的值总是以字符串形式返回,因此要检查用户是否输入了整数,您应该看看该值是否为全数字,例如:

    var isInt = /^\d+$/.test(s); // '123' -> true, '123a' -> false

您可能希望首先修剪前导空格和尾随空格。