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

ただのコメント:

input要素の値は常に文字列として返されるため、ユーザーが整数を入力したかどうかを確認するには、値がすべて数字であるかどうかを確認する必要があります。例:

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

最初に先頭と末尾のスペースをトリミングするかどうかを選択できます。

于 2012-11-01T05:25:47.893 に答える
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 に答える