1

大家好,我是两种语言的新手...我找到了 JavaScript 和 HTML 中的乱码示例 我想将该代码转换为 ActionScript 代码,这些语言对我来说看起来很相似,但是当我在 Flash Builder 中编译它时没有任何反应...我想了解如何在 ActionScript 和 MXML 代码中执行示例...

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

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)**" />

如您所见,我非常迷茫...

4

2 回答 2

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 ()

于 2012-11-01T05:17:29.003 回答
1

只是一个评论:

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

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

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

于 2012-11-01T05:25:47.893 回答