大家好我是两种语言的新手...我在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)**" />
你可以看到我很失落......
答案 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
您可能希望首先修剪前导空格和尾随空格。